使用docker部署poetry管理的專案
阿新 • • 發佈:2022-03-07
前言
poetry
是和virtualenv
pipenv
一樣的包管理工具, 其使用方式類似於npm
我們使用poetry
建立虛擬環境後會生成poetry.lock
和pyproject.toml
兩個檔案
一般來說我們需要將poetry
換成國內源(pyproject.toml
檔案追加):
[[tool.poetry.source]]
name = "tsinghua"
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
由於沒有requirements.txt
, 我們該如何使用Dockerfile
部署服務呢?
很簡單, 在建立容器的時候生成即可.
Dockerfile格式
FROM python:3.9 # 建立工作目錄 RUN mkdir -p /code # 指定pip源, 因為需要安裝poetry COPY pip.conf /root/.pip/pip.conf # 將當前工作目錄設定為 /code WORKDIR /code # 新增檔案到容器中 ADD . /code # 安裝poetry RUN pip install poetry # 生成requirements.txt RUN poetry export -f requirements.txt --output requirements.txt --without-hashes # 正式安裝依賴 # !!! 注意--trusted-host 的值為tool.poetry.source的域名 RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt --trusted-host pypi.tuna.tsinghua.edu.cn # 執行服務 CMD ["python", "main.py"]
注, pip.conf
形如:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
本文來自部落格園,作者:403·Forbidden,轉載請註明原文連結:https://www.cnblogs.com/lczmx/p/15976429.html