Docker-Image-Kombination: Mehrere Bilder zu einer einzigen Ebene zusammenführen
Das Kombinieren mehrerer Docker-Images zu einem einzigen einheitlichen Image ist eine Funktion, die von Docker nicht nativ unterstützt wird. Das von einem Open-Source-Mitarbeiter entwickelte DockerMake-Tool bietet jedoch eine Lösung für diesen Bedarf.
DockerMake verwendet eine YAML-Konfigurationsdatei, um die Zusammensetzung des Zielbilds zu definieren. Diese Datei gibt die Basis-Images an, die zum endgültigen Image beitragen, sowie alle erforderlichen Build-Anweisungen. Stellen Sie sich das Beispielszenario vor, in dem Sie ein Image erstellen möchten, das sowohl Java- als auch MySQL-Funktionen enthält.
Mit DockerMake können Sie eine DockerMake.yml-Datei mit der folgenden Struktur erstellen:
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
Um das spezifische AB-Image mit DockerMake zu erstellen, führen Sie einfach den folgenden Befehl aus:
docker-make specificAB
Dieser Befehl generiert die erforderlichen Docker-Dateien basierend auf der YAML-Konfiguration und führt den Erstellungsprozess durch, wodurch letztendlich ein einheitliches Image erstellt wird, das die Funktionalität von umfasst sowohl Java als auch MySQL.
Das obige ist der detaillierte Inhalt vonWie kann DockerMake mehrere Docker-Images zu einem einzigen einheitlichen Image kombinieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!