Dockerfile多镜像构建方式

 更新时间:2026年02月07日 09:29:30   作者:fananchong2  
这篇文章主要介绍了Dockerfile多镜像构建方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

背景

实际项目经常需要构建多个服务器镜像,绝大数情况,除了 Dockerfile 文件中除了 进程名不一样,其他基本是一样的。

显然写多个重复的 Dockerfile 不符合程序员思维。

翻了下官方文档,确实官方也已经给出了解决方案。

官方文档

官方文档: https://docs.docker.com/engine/reference/commandline/build/#specifying-target-build-stage---target

通常是打不开这个网页的,顺手也摘录下吧:

Specifying target build stage (–target)
When building a Dockerfile with multiple build stages, --target can be used to specify an intermediate build stage by name as a final stage for the resulting image. Commands after the target stage will be skipped.
FROM debian AS build-env

FROM alpine AS production-env

$ docker build -t mybuildimage --target build-env .

因此基本上你写的 Dockerfile 会是这样子的:

FROM centos:7 AS xxx_base
xxxx
xxxx
xxxx

FROM xxx_base AS LoginServer
xxxx

FROM xxx_base AS Gateway
xxxx

构建命令类似为:

docker build -t LoginServer --target LoginServer .
docker build -t Gateway --target Gateway .

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker部署Zookeeper官方镜像的保姆级教程

    Docker部署Zookeeper官方镜像的保姆级教程

    这篇文章介绍了如何使用Docker和Docker Compose部署Zookeeper官方镜像,包括安装Docker及可视化工具、创建挂载目录、运行Zookeeper容器、查看运行状态以及验证是否正常运行,需要的朋友可以参考下
    2025-02-02
  • docker镜像封装方便打包上传一键部署

    docker镜像封装方便打包上传一键部署

    这篇文章主要为大家介绍了docker镜像封装方便打包上传一键部署,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Docker容器镜像加载及底层基本原理深入解析

    Docker容器镜像加载及底层基本原理深入解析

    这篇文章主要为大家介绍了Docker容器镜像加载及底层基本原理深入分析,让大家能够有更深入的理解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • docker如何运行redis

    docker如何运行redis

    文章详细介绍了如何使用Docker下载、配置和启动Redis镜像,包括指定版本、创建挂载目录、修改配置文件(如启用持久化、设置密码等)以及启动容器的步骤
    2024-11-11
  • docker安装sentinel的实现示例

    docker安装sentinel的实现示例

    本文主要介绍了docker安装sentinel的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • dockerfile中CMD和ENTRYPOINT指令使用及说明

    dockerfile中CMD和ENTRYPOINT指令使用及说明

    介绍了Dockerfile中的CMD和ENTRYPOINT指令以及它们的执行方式,包括exec形式和shell形式,CMD提供默认命令,支持覆盖;ENTRYPOINT定义固定命令,不支持覆盖,但可以通过--entrypoint参数实现覆盖
    2025-11-11
  • Docker中处理持久化存储(如数据库)的方法详解

    Docker中处理持久化存储(如数据库)的方法详解

    在使用Docker容器时,容器的生命周期通常是短暂的,当容器被删除后,其内部的数据也会随之丢失,然而,对于像数据库这样需要持久化存储数据的应用来说,这是不可接受的,所以本文给大家介绍了Docker中处理持久化存储(如数据库)的方法,需要的朋友可以参考下
    2025-06-06
  • Ubuntu安装Docker超详细小白教程(附国内镜像加速教程)

    Ubuntu安装Docker超详细小白教程(附国内镜像加速教程)

    由于业务需要,又亲自上手在服务器上安装了Docker,所以这里再给大家总结下,这篇文章主要介绍了Ubuntu安装Docker的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-04-04
  • Docker 数据目录迁移的实现步骤

    Docker 数据目录迁移的实现步骤

    本文详细记录了将Docker数据目录从/var/lib/docker迁移到更大容量的分区的全过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-12-12
  • Docker Nginx Log 三者的处理详解

    Docker Nginx Log 三者的处理详解

    这篇文章主要介绍了Docker Nginx Log 三者的处理详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论