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