首頁 > 後端開發 > Python教學 > Docker 實作:透過範例 Flask 專案學習 Dockerfile、容器、連接埠轉發

Docker 實作:透過範例 Flask 專案學習 Dockerfile、容器、連接埠轉發

Susan Sarandon
發布: 2025-01-14 07:36:44
原創
383 人瀏覽過

本教學示範使用 Docker 建置和部署簡單的 Flask 應用程式。 我們將介紹建立 Dockerfile、建置映像、運行容器,甚至將映像推送到 Docker Hub。 對於那些不熟悉 Docker 基礎知識的人,請查看之前的文章:

讓我們開始一個實作範例:

項目設定:

  1. 建立一個名為「flask-app」的目錄。
  2. 在「flask-app」內,建立包含這個簡單 Flask 應用程式的 index.py
<code class="language-python"># index.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello World!"
if __name__ == "__main__":
    app.run(host="0.0.0.0", port=int("5000"), debug=True)</code>
登入後複製
  1. 也在「flask-app」中,建立一個包含以下內容的 Dockerfile(無副檔名):
<code class="language-dockerfile">FROM python:3.13.1-alpine3.21
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "index.py"]</code>
登入後複製
  1. 最後,在「flask-app」目錄下建立requirements.txt
<code>Flask==2.3.2</code>
登入後複製

您的目錄結構現在應如下所示:

<code>flask-app/
├── Dockerfile
├── index.py
└── requirements.txt</code>
登入後複製

建置並執行 Docker 映像:

  1. 導航到終端機中的「flask-app」目錄。
  2. 使用以下指令建立 Docker 映像:
<code class="language-bash">docker build -t flask-app .</code>
登入後複製
  1. 驗證鏡像是否已成功建置:
<code class="language-bash">docker images</code>
登入後複製
  1. 執行 Docker 容器,將主機上的連接埠 5000 對應到容器中的連接埠 5000:
<code class="language-bash">docker run --name my-flask-app -d -p 5000:5000 flask-app</code>
登入後複製
  1. 檢查正在運作的容器:
<code class="language-bash">docker ps -a</code>
登入後複製
  1. 透過在瀏覽器中存取 http://127.0.0.1:5000 或使用 curl:
  2. 來測試應用程式
<code class="language-bash">curl http://127.0.0.1:5000</code>
登入後複製
  1. 要停止並移除容器:
<code class="language-bash">docker container rm -f my-flask-app</code>
登入後複製
  1. 刪除影像:
<code class="language-bash">docker image rm -f flask-app</code>
登入後複製

推送到 Docker Hub:

在推送到 Docker Hub 之前,如果您還沒有帳戶,請建立帳戶。 然後:

  1. 為 Docker Hub 標記映像(將 omerbsezer 替換為您的 Docker Hub 使用者名稱):
<code class="language-bash">docker tag flask-app omerbsezer/dev-to-flask-app:latest</code>
登入後複製
  1. 推播圖片:
<code class="language-bash">docker push omerbsezer/dev-to-flask-app:latest</code>
登入後複製

然後您可以在 Docker Hub 上看到您的映像。 螢幕截圖將放置在此。

Docker Hands-on: Learn Dockerfile, Container, Port Forwarding with Sample Flask Project

結論:

這個實際範例示範了使用 Docker 容器化簡單 Python 應用程式的完整工作流程。 如需更多 Docker 教學、AWS、Kubernetes、Linux、DevOps、Ansible、機器學習、生成式 AI 和 SAAS 內容,請點擊以下連結:

以上是Docker 實作:透過範例 Flask 專案學習 Dockerfile、容器、連接埠轉發的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板