Docker, eine Containerisierungsplattform, ermöglicht die Isolierung und Verpackung von Anwendungen mit ihren Abhängigkeiten. Während es üblicherweise zum Verwalten einzelner Bilder verwendet wird, kann es Szenarios geben, in denen Sie mehrere Bilder zu einer einzigen Einheit kombinieren müssen.
Stellen Sie sich ein Szenario vor, in dem Sie Sie verfügen über generische Java- und MySQL-Images und möchten ein einzelnes Image erstellen, das sowohl Java als auch MySQL kombiniert. Dies kann durch einen modifizierten Ansatz erreicht werden, der DockerMake einbezieht, ein Open-Source-Tool, das die Bildvererbung verwaltet.
DockerMake verwendet eine YAML-Datei, um die Zusammensetzung des Bildes zu skizzieren kombiniertes Bild. Die Datei DockerMake.yml beschreibt die Vererbungshierarchie und die Erstellungsschritte für jedes Komponenten-Image. Hier ist eine Beispiel-DockerMake.yml-Datei, die genericA-, genericB- und customBase-Images in das SpecificAB-Image kombiniert:
specificAB: requires: - genericA - genericB genericA: requires: - customBase build_directory: [some local directory] build: | # Add Dockerfile commands here (e.g., ADD, RUN) genericB: requires: - customBase build: | # Additional Dockerfile commands (e.g., apt-get, ENV) customBase: FROM: debian:jessie build: | # Base image setup commands (e.g., apt-get update)
Um das kombinierte Image mit DockerMake zu erstellen, befolgen Sie diese Schritte:
Dieser Prozess generiert die erforderlichen Docker-Dateien basierend auf der DockerMake.yml-Datei und erstellt das kombinierte Image. Das resultierende Image, in diesem Fall SpecificAB, verfügt über die Funktionalitäten von GenericA- und GenericB-Images und stellt eine einzelne Einheit mit dem gewünschten Anwendungsstapel bereit.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3