文章目录
- 1. 编写 Dockerfile
- 2. 构建 Docker 镜像
- 3. 运行 Docker 容器
- 4. 导出与导入镜像(可选)
1. 编写 Dockerfile
Dockerfile 是一个文本文件,其中包含了一系列指令,这些指令定义了如何构建你的 Docker 镜像。下面以一个简单的 Python 应用为例:
# 使用官方 Python 基础镜像
FROM python:3.9-slim# 设置工作目录
WORKDIR /app# 将依赖文件复制到容器中
COPY requirements.txt ./# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt# 将当前目录下的所有代码复制到容器中
COPY . .# 暴露端口(如果你的应用需要)
EXPOSE 5000# 指定容器启动时执行的命令
CMD ["python", "app.py"]
说明:
FROM 指定基础镜像。
WORKDIR 设置工作目录。
COPY 将文件从主机复制到镜像内。
RUN 用于在镜像构建过程中执行命令(比如安装依赖)。
EXPOSE 声明容器监听的端口(虽然只是声明,并不自动映射端口)。
CMD 指定容器启动后默认执行的命令。
2. 构建 Docker 镜像
在 Dockerfile 所在的目录下,使用以下命令构建镜像:
docker build -t my-python-app .
说明:
-t my-python-app 为镜像命名为 my-python-app。
最后的 . 指定了构建上下文为当前目录。
构建成功后,可以通过以下命令查看镜像列表:
docker images
3. 运行 Docker 容器
构建好的镜像可以用来运行容器。例如:
docker run -d -p 5000:5000 my-python-app
说明:
-d 让容器在后台运行。
-p 5000:5000 将容器内部的 5000 端口映射到主机的 5000 端口。
my-python-app 是你刚刚构建的镜像名称。
4. 导出与导入镜像(可选)
如果你需要将镜像打包成一个文件传输到其他机器,可以使用 docker save 命令:
docker save -o my-python-app.tar my-python-app
在另一台机器上,可以通过以下命令加载该镜像:
docker load -i my-python-app.tar
其他注意事项
- 多阶段构建:对于复杂项目,可以使用多阶段构建减少最终镜像的体积。
- 自动化:可以结合 CI/CD 工具(如 GitLab CI、GitHub Actions 等)实现自动化构建和部署。
- 安全:注意不要在镜像中暴露敏感信息,构建时可以使用构建参数(–build-arg)来传递动态数据。