Docker 映像組合:將多個映像合併為一個層
將多個 Docker 映像組合成一個統一的鏡像是 Docker 本身不支援的功能。然而,由開源貢獻者開發的 DockerMake 工具提供了一個解決方案來滿足這一需求。
DockerMake 使用 YAML 設定檔來定義目標映像的組成。該檔案指定構成最終映像的基礎映像以及任何必要的建置指令。考慮一下範例場景,您希望建立一個包含 Java 和 MySQL 功能的映像。
使用DockerMake,您可以建立具有以下結構的DockerMake.yml 檔案:
specificAB: requires: - genericA - genericB genericA: requires: - customBase build_directory: [local directory path] build: | # Dockerfile commands for genericA # e.g., ADD installA.sh, RUN ./installA.sh genericB: requires: - customBase build: | # Dockerfile commands for genericB # e.g., RUN apt-get install -y genericB, ENV PATH=$PATH:something customBase: FROM: debian:jessie build: | # Dockerfile commands for customBase # e.g., RUN apt-get update && apt-get install -y build-essentials
要使用DockerMake 建置特定的AB 映像,只需執行指令:
docker-make specificAB
該命令將根據YAML 配置產生必要的Dockerfile 並執行建置過程,最終建立一個包含以下功能的統一映像: Java 和MySQL。
以上是DockerMake 如何將多個 Docker 映像合併為一個統一映像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!