Docker 多阶段构建是一种利用 Dockerfile 的构建方式,它允许你在构建镜像时使用多个构建环境。这种方式可以大大减少最终镜像的大小,并且使得构建过程更加灵活。

优势

  • 减小镜像体积:通过将构建过程中的中间步骤分离出来,可以只保留最终需要的文件,从而减小镜像体积。
  • 提高构建效率:多阶段构建可以避免重复构建不必要的中间镜像,从而提高构建效率。
  • 更好的隔离性:每个阶段可以独立构建,从而提高隔离性。

示例

以下是一个简单的 Docker 多阶段构建示例:

# 阶段1:构建基础镜像
FROM python:3.8 AS base

# 安装依赖
RUN pip install Flask

# 阶段2:构建最终镜像
FROM python:3.8-slim

# 从基础镜像复制文件
COPY --from=base /app /app

# 暴露端口
EXPOSE 5000

# 运行应用
CMD ["python", "app.py"]

扩展阅读

想要了解更多关于 Docker 多阶段构建的信息,可以访问官方文档

Docker Image