透過 Docker 部署 Python API 到 NAS 上
[step]1[/step]
產出requirements.txt
如果要產出當前環境下所有依賴
pip freeze > requirements.txt
如果只是要產出專案使用到的依賴,可以使用 pipreqs 套件
# 安裝套件
pip install pipreqs
# 產出requirements.txt
pipreqs .
[step]2[/step]
產出 Dockerfile
# image
FROM python:3.8.9
# 設定工作目錄
WORKDIR /api
# 複製套件檔
COPY . /api
# 安裝套件
RUN pip install --no-cache-dir --upgrade -r /api/requirements.txt
# 宣告使用的port
EXPOSE 8011
# 定義容器啟動命令
CMD ["python", "app/main.py"]
[step]3[/step]
在 NAS 的 Docker 資料夾下新增此次專案要使用的資料夾

[step]4[/step]
將專案複製過去,app內就是專案原始碼

[step]5[/step]
建立 image 檔
SSH 進 NAS並切換到專案目錄,執行下面指令
sudo docker build -t imgName .

[step]6[/step]
部署 Container
登入NAS,進入 Docker 套件,切換到印象檔,確認剛才 build 出來的 image 已經出現

執行部署,記得要掛資料夾,將剛剛建立的專案路徑指定到容器內的/api路徑

一直下一步,完成後 container 會自動啟動,就可以測試服務是否已啟動了
留言