main.py,都可直接使用同份Dockerfile,但要注意Dockerfile不能有副檔名,位置需與main.py同層,還需要有requirements.txt(可以透過$ pip freeze > requirements.txt生成)
在開始構建和推送 Docker 鏡像之前,確保您的開發環境中已經安裝了 Docker。您可以根據之前的文章或 Docker 官方網站上的說明進行安裝。此外,確保您擁有 Docker Hub 的帳戶,以便將鏡像推送到其中。
Dockerfile 是構建 Docker 鏡像的藍圖。它包含了一系列指令,用於定義所需的環境和配置。您可以在 Dockerfile 中指定基礎鏡像、安裝軟體、複製檔等。本文以一個示例 Python 應用程式為例,演示如何編寫簡單的 Dockerfile。
FROM python:3.9-slim
# 指定 Image 中的工作目錄
WORKDIR /code
# 將 Dockerfile 所在目錄下的所有檔案複製到 Image 的工作目錄 /code 底下
ADD . /code
# 在 Image 中執行的指令:安裝 requirements.txt 中所指定的 dependencies
RUN pip install -r requirements.txt
# Container 啟動指令:Container 啟動後通過 python 運行 test_api.py
CMD ["python", "./main.py"]
在終端中導航到包含 Dockerfile 的目錄,並執行以下命令構建鏡像:
$ docker build -t my-python-app .
此命令將根據 Dockerfile 構建一個名為 的鏡像。my-python-app
要將鏡像推送到 Docker Hub,首先需要為其添加標籤,以指明鏡像的名稱和版本。
$ docker tag my-python-app:latest your-dockerhub-username/my-python-app:version
在將鏡像推送到 Docker Hub 之前,您需要登錄到您的 Docker Hub 帳戶。
$ docker login
登錄成功后,使用以下命令推送鏡像到 Docker Hub:
$ docker push your-dockerhub-username/my-python-app:version
通過本文,您已經學會了使用 Docker 構建自定義容器鏡像並將其推送到 Docker Hub 的基本步驟。這為您提供了在開發和部署過程中更加靈活、高效的選項。通過掌握 Docker 和 Docker Hub 的使用,您可以輕鬆地分享和部署您的應用程式,同時享受容器化技術所帶來的種種好處。無論您是開發新手還是資深開發者,Docker 都將成為您提升開發流程效率的得力工具。