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 建立SpecificAB 映像,只需執行指令:
docker-make specificAB
此命令將根據YAML 配置產生必要的Dockerfile 並執行建置過程,最終建立一個包含Java 和MySQL 功能的統一映像。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3