Dockerfile多鏡像構(gòu)建方式
背景
實際項目經(jīng)常需要構(gòu)建多個服務(wù)器鏡像,絕大數(shù)情況,除了 Dockerfile 文件中除了 進(jìn)程名不一樣,其他基本是一樣的。
顯然寫多個重復(fù)的 Dockerfile 不符合程序員思維。
翻了下官方文檔,確實官方也已經(jīng)給出了解決方案。
官方文檔
官方文檔: https://docs.docker.com/engine/reference/commandline/build/#specifying-target-build-stage---target
不翻墻,通常是打不開這個網(wǎng)頁的,順手也摘錄下吧:
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
構(gòu)建命令類似為:
docker build -t LoginServer --target LoginServer . docker build -t Gateway --target Gateway .
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker容器通過ping直接運行獲取公網(wǎng)IP操作
這篇文章主要介紹了docker容器通過ping直接運行獲取公網(wǎng)IP操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
Docker 容器文件系統(tǒng)詳細(xì)介紹(圖文)
這篇文章主要介紹了Docker 容器文件系統(tǒng)詳細(xì)介紹(圖文)的相關(guān)資料,這里對Docker 容器文件系統(tǒng)進(jìn)行了具體的分析詳解,需要的朋友可以參考下2016-12-12
docker-swarm之使用Docker secret管理敏感數(shù)據(jù)
就Docker Swarm集群服務(wù)而言,secret 是塊狀數(shù)據(jù),例如密碼、SSH私鑰、SSL證書或其他不應(yīng)通過網(wǎng)絡(luò)傳輸或未加密存儲在Dockerfile或應(yīng)用程序源代碼中的數(shù)據(jù),我們可以使用Docker secret 集中管理這些數(shù)據(jù),所以接下來就帶大家了解一下如何使用Docker secret 管理敏感數(shù)據(jù)2023-08-08
Docker 容器互聯(lián)互通的實現(xiàn)方法
docker安裝RabbitMq添加用戶實現(xiàn)方式
Docker學(xué)習(xí)筆記之Weave實現(xiàn)跨主機(jī)容器互聯(lián)

