Zusammengesetzte Docker-Images erstellen
Abfrage: Kann Docker mehrere Images zu einem einzigen zusammenführen und ihre Funktionen kombinieren? Erstellen Sie beispielsweise ein Image, das Java und MySQL aus einzelnen Images bündelt, die jede Komponente separat enthalten?
Lösung:
Docker selbst unterstützt die Image-Kombination nicht nativ, DockerMake jedoch , ein externes Tool, ermöglicht diese Funktionalität. Es nutzt eine YAML-Konfigurationsdatei, um die Abhängigkeiten und Build-Anweisungen für jede Bildkomponente zu definieren. Mit DockerMake können Sie ein zusammengesetztes Image erstellen, indem Sie von mehreren Basis-Images erben.
Um beispielsweise ein Image sowohl mit Java als auch mit MySQL zu erstellen, würden Sie eine DockerMake-Konfiguration ähnlich der unten angegebenen definieren:
<code class="yaml">specificAB: requires: - genericA - genericB genericA: requires: - customBase build_directory: [local directory containing build instructions] build: | # Build commands for genericA, e.g., ADD installA.sh, RUN ./installA.sh genericB: requires: - customBase build: | # Build commands for genericB, e.g., RUN apt-get install -y genericB, ENV PATH=$PATH:something customBase: FROM: debian:jessie build: | # Common build instructions for both genericA and genericB, e.g., RUN apt-get update & apt-get install -y buildessentials</code>
Wenn DockerMake installiert ist (über pip), führen Sie einfach den Befehl docker-make SpecificAB aus, um das gewünschte zusammengesetzte Image zu erstellen.
Das obige ist der detaillierte Inhalt vonKann Docker mehrere Bilder zu einem einzigen, funktionalen zusammengesetzten Bild zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!