Docker 是一款流行的容器化技術,提供了可移植、可擴展、可重復部署的應用程序容器。為了方便使用,Docker 提供了一套打包工具,可以將應用程序及其依賴打包在一起,形成 Docker 鏡像。
Docker 鏡像使用 Dockerfile 文件定義打包過程,以及應用程序的運行環境、依賴和配置。以下是一個簡單的 Python 應用程序 Dockerfile 示例:
FROM python:3.7-alpine
WORKDIR /app
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 5000
CMD [ "python", "app.py" ]
這個 Dockerfile 使用 Python 3.7 的 alpine 版本作為基礎鏡像,將工作目錄設置為 /app,將當前目錄下的文件復制到容器中。然后使用 pip 安裝應用程序依賴,暴露端口 5000,并設置運行命令。
要創建 Docker 鏡像,只需要在 Dockerfile 文件所在目錄中運行以下命令:
$ docker build -t my-python-app:latest .
這個命令會在當前目錄下尋找 Dockerfile 文件并執行打包,-t 選項為生成的鏡像設置標簽(用于后續識別),latest 為鏡像版本號,. 表示 Dockerfile 文件所在目錄。
打包完成后,可以使用以下命令查看生成的 Docker 鏡像:
$ docker images
這個命令會列出所有本地存在的 Docker 鏡像,可以找到剛剛打包的 my-python-app 鏡像。
使用 Docker 鏡像運行容器時,也需要指定標簽,例如:
$ docker run -p 5000:5000 my-python-app:latest
這個命令會啟動一個新的容器,-p 選項將容器內部的端口映射到主機上。my-python-app:latest 是剛剛打包的 Docker 鏡像標簽。
通過 Dockerfile 文件和打包命令,可以方便地創建可移植、可擴展、可重復部署的應用程序容器,快速構建、迭代和發布應用程序。