Mehrstufige Docker-Erstellung

15. März 2022

Lang: cs en de es

Der mehrstufige Docker-Build ist eine Funktion, die es einfacher machen kann, verschiedene Docker-Images auf der gleichen Basis zu erstellen. So können Sie ein Image für verschiedene Zwecke vorbereiten. Und gleichzeitig effizient Images erstellen, die alles enthalten, was Sie brauchen, und gleichzeitig minimalistisch sind.

Mehrstufiger Aufbau

Das Prinzip des mehrstufigen Builds besteht darin, dass man eine gemeinsame Basis in einer Konfigurationsdatei hat und darauf basierend verschiedene Docker-Images erstellen kann. So kann man die Erstellung von Docker-Images rationalisieren und vereinfachen.
Ted-Docker-Image für die Entwicklung, zum Testen oder minimalistisch für die Produktion

Beispiel

In diesem Link. docker multi stage example.
Sie können dieses Demonstrationsprojekt verwenden, um es auszuprobieren, und auch dieser Leitfaden ist darauf basierend geschrieben.

Dieser Befehl führt das Build-Image für das "base"-Ziel aus:

docker build --target base ./

Besser ist es jedoch, das Image direkt zu benennen

 docker build --target base ./ -t php-web-base

Build-Image für das Ziel devel, das wir php-web-dev nennen werden:

docker build --target devel ./ -t php-web-dev

Bauen Sie Container, die in der docker-compose-Datei aufgelistet sind:

docker-compose -f docker-compose-prod.yml build

Der Inhalt von docker-compose. Der wichtigste Parameter ist der Parameter target, der angibt, welches Image erstellt und dann ausgeführt werden soll.

version: '3.6'
services:
  Web:
      build:
        context: ./
        Ziel: devel

Wenn Sie den Container gebaut und benannt haben, können Sie das Docker-Image und die Shell-Konsole wie bei jedem anderen Docker-Image einfügen:

docker exec -it multistage-build_web_1 /bin/bash

Video

Video-Demonstration und Erklärung, wie Docker Multistage Build funktioniert:

Ressourcen

Multistage-Build-Dokumentation

Artikel zu einem ähnlichen Thema

GitLab CI/CD: Testautomatisierung und Anwendungsbereitstellung
VPS von VMware zu Proxmox migrieren
VMware-Lizenzierungsänderung
Ausführen von Microsoft SQL Server unter Linux
Sicherung: der Proxmox Backup Server
Linux als Router und Firewall
Hochladen eines Docker-Images in die Docker-Registry
Linux: Verwaltung logischer Datenträger
Linux-Software-RAID
Ausführen einer Webanwendung hinter einem Proxy
Migration von Postfächern
Sichern Ihrer Daten durch Einschalten des Computers
Podman
Importieren von Windows in die Proxmox-Virtualisierung
Docker und PHP-Mail
Proxmox-Virtualisierung
Docker und Cron
Lenovo ThinkPad X1 Carbon: Inbetriebnahme des LTE-Modems EM7544
Yocto-Projekt: Erstellen eines eigenen Betriebssystems für eingebettete Geräte
Vorbereiten eines Linux-Servers für die Ausführung einer Webanwendung in Python
Wie man eine schlechte Dateifreigabeleistung in Docker behebt
Wie man Docker richtig einsetzt
Installation von Linux auf einem dedizierten HPE ProLiant DL320e Server
Wie man eine Webanwendung einem Belastungstest unterzieht
Warum das JFS-Dateisystem verwenden
Booten von einer 4TB-Festplatte mit GTP unter UEFI
Btrfs-Dateisystem
Raspberry PI
WINE - Ausführen von Windous Programmen unter Linux
GNU/Linux-Betriebssystem

Newsletter

Wenn Sie daran interessiert sind, gelegentlich Neuigkeiten per E-Mail zu erhalten.
Sie können sich registrieren, indem Sie Ihre E-Mail-Adresse eingeben News-Abonnement.


+