Docker イメージの結合: 複数のイメージを 1 つのレイヤーに結合する
複数の Docker イメージを 1 つの統合イメージに結合することは、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 の両方。
以上がDockerMake はどのようにして複数の Docker イメージを 1 つの統合イメージに結合できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。