透過 Docker 部署 Python API 到 NAS 上

我的 NAS 上掛載多個 Docker 容器大部分容器都是使用 Python 撰寫的 API 服務下面就來介紹…

step 1

產出requirements.txt

如果要產出當前環境下所有依賴

pip freeze > requirements.txt

如果只是要產出專案使用到的依賴,可以使用 pipreqs 套件

# 安裝套件
pip install pipreqs
# 產出requirements.txt
pipreqs .

step 2

產出 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

在 NAS 的 Docker 資料夾下新增此次專案要使用的資料夾

step 4

將專案複製過去,app內就是專案原始碼

step 5

建立 image 檔

SSH 進 NAS並切換到專案目錄,執行下面指令

sudo docker build -t imgName .

step 6

部署 Container

登入NAS,進入 Docker 套件,切換到印象檔,確認剛才 build 出來的 image 已經出現

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

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

14 則留言

  1. This guide is excellent for local containerization. For enterprise-grade stability, remember that the real challenge is service mesh and API gateway management. Robust architecture is crucial, whether you’re managing internal data or powering a high-traffic platform like a jl555 game. Focus on observability and automated scaling next!

  2. As a tech enthusiast, I appreciate NN77’s secure setup and Tagalog support. The seamless GCash deposits make playing slots easy. Check out nn77 slot for instant payouts today. Just remember to set strong security PINs before depositing funds.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *