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 Compose安装DOClever的详细过程

    亲手教你Docker Compose安装DOClever的详细过程

    DOClever是一个可视化免费开源的接口管理工具,DOClever前后端全部采用了javascript来作为我们的开发语言。这篇文章主要介绍了Docker Compose安装DOClever的详细过程,需要的朋友可以参考下
    2021-09-09
  • Docker内部MySQL如何开启binlog日志

    Docker内部MySQL如何开启binlog日志

    这篇文章主要介绍了Docker内部MySQL如何开启binlog日志问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • 使用docker部署java项目运行环境的实现步骤

    使用docker部署java项目运行环境的实现步骤

    本文主要介绍了使用docker部署java项目运行环境的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 详解Django+Vue+Docker搭建接口测试平台实战

    详解Django+Vue+Docker搭建接口测试平台实战

    这篇文章主要介绍了详解Django+Vue+Docker搭建接口测试平台实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • docker 移除掉运行不正常的container操作

    docker 移除掉运行不正常的container操作

    这篇文章主要介绍了docker 移除掉运行不正常的container操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker安装方法与Docker四种网络模式详解

    Docker安装方法与Docker四种网络模式详解

    今天小编就为大家分享一篇关于Docker安装方法与Docker四种网络模式的详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • docker打包Python环境的过程详解

    docker打包Python环境的过程详解

    这篇文章主要介绍了docker打包Python环境过程,准备工作需要大家复制python程序启动程序,具体操作流程跟随小编一起看看吧
    2021-08-08
  • Docker镜像构建的两种方法解析

    Docker镜像构建的两种方法解析

    这篇文章主要为大家详细介绍了Docker镜像构建的两种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 深入理解docker镜像的分层(小白必看)

    深入理解docker镜像的分层(小白必看)

    本文关键详细介绍了Docker镜像层次的基本原理详细说明,原文中根据实例编码详细介绍的十分详尽,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Docker与Golang的巧妙结合

    Docker与Golang的巧妙结合

    这篇文章主要介绍了Docker与Golang的巧妙结合的相关资料,需要的朋友可以参考下
    2016-10-10

最新评论