組合多個 Docker 映像
Docker 不直接支援將多個 Docker 映像組合成一個統一的映像。但是,可以使用第三方工具來促進此過程。 DockerMake 就是這樣一個工具,可以創造複雜的映像繼承場景。
使用 DockerMake 組合映像
DockerMake 透過使用 YAML 檔案定義之間的關係來執行Docker 映像。基於 YAML 配置,DockerMake 產生指導建置過程的 Dockerfile。
例如,要將Java 和MySQL 映像合併到名為「specicAB」的新映像中,您可以建立一個DockerMake.yml 文件,如下所示:
specificAB:
requires:
- genericA
- genericB
genericA:
requires:
- customBase
build_directory: [a local directory]
build: |
# Dockerfile commands specific to genericA
genericB:
requires:
- customBase
build: |
# Dockerfile commands specific to genericB
customBase:
FROM: Debian:jessie
build: |
# Dockerfile commands to set up the base image
此配置建立以下繼承結構:
--> genericA -- / \ debian:jessie --> customBase ---> specificAB \ / --> genericB --
建置組合映像
要使用DockerMake 建置「specificAB」映像,只需執行下列指令:
docker-make specificAB
結論
雖然 Docker 沒有直接提供內建的映像組合機制,但 DockerMake 提供了一個方便且強大的解決方案來實現此功能。透過在 YAML 檔案中定義複雜的繼承場景,DockerMake 簡化了建立和管理組合 Docker 映像的過程。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3