Docker 的打包及基本使用
Docker
的打包是將應用程序及其依賴項封裝到一個容器中,以便在任何支持 Docker
的環境中運行。
本教程將詳細介紹如何通過 Dockerfile
打包應用程序,并基本使用 Docker
容器。
Docker 打包
創建 Dockerfile
Dockerfile
是一個文本文件,包含了一系列指令,用于自動化構建 Docker
鏡像。
以下是一個典型的 Dockerfile
示例:
# 使用 Python 3.9 作為基礎鏡像
FROM python:3.9-slim
# 設置工作目錄
WORKDIR /app
# 復制依賴文件
COPY requirements.txt .
# 安裝依賴
RUN pip install --no-cache-dir -r requirements.txt
# 復制應用程序代碼
COPY . .
# 暴露端口
EXPOSE 8000
# 設置啟動命令
CMD ["python3", "app.py"]
關鍵指令說明:
-
FROM
:指定基礎鏡像。 -
ENV
:設置環境變量。 -
RUN
:執行命令(例如安裝依賴)。 -
WORKDIR
:設置工作目錄。 -
COPY
:將文件從主機復制到容器中。 -
EXPOSE
:暴露容器端口。 -
CMD
:設置容器啟動時執行的命令。
構建 Docker 鏡像
在 Dockerfile
所在目錄下創建requirements.txt
和app.py
:
app.py
內容如下:
from flask import Flask
# 創建 Flask 應用
app = Flask(__name__)
# 定義路由
@app.route('/')
def hello():
return "Hello, Docker!"
# 啟動應用
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)
requirements.txt 內容如下:
Flask==2.3.2
并運行以下命令構建鏡像
docker build -t my-app .
-
-t my-app
:為鏡像指定一個名稱(標簽)。 -
.
:指定 Dockerfile 所在的目錄(當前目錄)。
驗證鏡像
構建完成后,可以通過以下命令查看本地鏡像:
docker images
如果看到 my-app
鏡像,說明構建成功。
Docker 基本使用
運行容器
使用構建的鏡像運行容器:
docker run -d -p 8000:8000 --name my-app-container my-app
-
-d
:以守護進程模式運行容器。 -
-p 8000:8000
:將主機的 8000 端口映射到容器的 8000 端口。 -
--name my-app-container
:為容器指定一個名稱。 -
my-app
:使用的鏡像名稱。
查看容器日志
查看容器的日志輸出:
docker logs my-app-container
進入容器
如果需要進入容器進行調試,可以使用以下命令:
docker exec -it my-app-container /bin/bash
停止和刪除容器
停止容器:
docker stop my-app-container
刪除容器:
docker rm my-app-container
總結
通過本教程,你已經學會了如何使用 Dockerfile
打包應用程序,并使用 Docker
容器。
Docker
的打包和使用是現代化應用部署的核心技能,掌握這些知識可以幫助你更高效地管理和運行應用。
– 歡迎點贊、關注、轉發、收藏【我碼玄黃】,各大平臺同名。