Verständnis von Docker Mehrstufige Builds

Verständnis von Docker Mehrstufige Builds
Mehrstufiger Build in Docker gibt eine Reihe von Builds in einer Dockerfile an. DockerFile -Anweisungen sind in mehrere Abschnitte oder Ebenen unterteilt und enthalten mehr als eineAUS" Stellungnahme. Im mehrstufigen Build wird der Entwicklungsprozess in mehrstufige Stufen unterteilt. Der erste Befehl „From“ definiert das übergeordnete oder basische Bild, und dieser Abschnitt enthält hauptsächlich die Installations- oder Setup -Anweisungen, und Unterabschnitte verwenden die Abhängigkeiten der Basisanweisung.

Dieser Beitrag wird das grundlegende Konzept des mehrstufigen Docker -Builds demonstrieren.

Unterschied zwischen einfachem Build und mehrstufiger Build

Einfacher Build enthält nur einen “AUS”Um das Basisbild anzugeben. Alle Installationsabhängigkeiten und die Quelldateien werden in einem einzelnen Abschnitt verarbeitet. Das Bild, das durch den einfachen Build erstellt wurde. Mehrstufige Builds sind jedoch in mehrstufige Stufen unterteilt und haben mehrere „Aussagen von“ Aussagen. Der mehrstufige Build ist auch hilfreich bei der Reduzierung der Bildgröße. Es kann auch verwendet werden, wenn Benutzer Bilder in den Brocken verarbeiten oder erstellen möchten, um Code in Abschnitten auszuführen.

Wie man ein Bild aus mehrstufigen Builds erstellt?

Um ein einfaches Docker-Bild aus mehrstufigen Builds zu erstellen, erstellen Sie zunächst eine mehrstufige Dockerfile. Dann führen Sie das aus “ausbauenBefehl von Docker, das Bild zu erstellen. Schauen Sie sich dazu die angegebenen Schritte an.

Schritt 1: Offenes Terminal

Starten Sie zunächst das Terminal aus dem Startmenü, um Docker CLI zu verwenden. Dafür werden wir das nutzen “Git Bash”Unter Windows:

Öffnen Sie das Anwendungsverzeichnis/den Ordner mit Hilfe des “CD" Befehl:

$ CD Multistage

Schritt 2: Codedatei erstellen

Erstellen Sie als Nächstes eine Programmdatei. Zu diesem Zweck haben wir den Nano -Texteditor verwendet, um eine zu erstellenhauptsächlich.gehenProgrammdatei. Sie können jedoch auch Notepad- oder Visual Studio -Code -Editor verwenden:

$ nano main.gehen

Fügen Sie den folgenden Code in die Datei ein:

importieren (
"fmt"
"Protokoll"
"net/http"
)
Funchandler (W HTTP.Antwortschreiber, r *http.Anfrage)
fmt.Fprintf (w, "Hallo! Willkommen bei LinuxHint Tutorial ")

funcmain ()
http.Handlefunc ("/", Handler)
Protokoll.Tödlich (http.Hörenserve ("0.0.0.0: 8080 ", nil)))

Schritt 3: Erstellen Sie mehrstufige Dockerfile

Als nächstes erzeugen und offen ““Dockerfile”In einem Nano -Texteditor, um die mehrstufigen Anweisungen für mehrstufige Builds anzugeben:

$ nano dockerfile

Kopieren Sie den folgenden Snippet in Dockerfile. Hier sind DockerFile -Anweisungen in zwei Abschnitte unterteilt:

  • Der erste Abschnitt verwendet die “Golang: 1.8”Als Basisbild und enthält die grundlegenden Anweisungen.
  • Der zweite Abschnitt verwendet die “alpinBild und definiert die Standardeinstellungen oder die Eintragspunkt über die Anweisung „CMD“:
Von golang: 1.8 als Basis
WorkDir/Go/SRC/App
Hauptkopie.gehen .
Run Go Build -o -Webserver .
Von Alpine
WorkDir /App
Kopieren - -from = base/go/src/App/App/
CMD ["./Webserver "]

Schritt 4: Generieren Sie mehrstufiges Docker -Bild

Generieren Sie das Bild mit einer mehrstufigen Dockerfile durch die “durch die“Docker Build" Befehl. Um das Tag/Name eines Bildes zu definieren, haben wir hier das verwendet-T" Flagge:

$ Docker Build -t New-Web-Image .

Überprüfen Sie, ob das Bild erstellt wird oder nicht, indem Sie das verwenden “Dockerbilder " Befehl:

$ Docker Bilder New-Web-Image

Die folgende Ausgabe zeigt, dass das Bild erstellt wird und die Größe des Bildes nur ist “12.9mb”:

Schritt 4: Docker -Bild ausführen

Um das Bild zum Erstellen und Start eines Containers für die Programmbereitstellung auszuführen, durchlaufen Sie den erwähnten Befehl. Hier das "-PDie Flagge wird verwendet, um den exponierten Port des Containers zuzuordnen:

$ Docker Run -P 8080: 8080 New-Web-Image

Besuchen Sie den exponierenden Hafen des örtlichen Hosts im Browser, um zu überprüfen, ob der Container gestartet wird oder nicht:

Aus dem obigen Bild kann klar sein, dass wir das Programm über den mehrstufigen Build bereitgestellt haben.

Abschluss

Im mehrstufigen Build wird der Entwicklungsprozess in mehrstufige Stufen unterteilt. Die Dockerfile ist in mehrere Abschnitte unterteilt und hat mehrere “AUS”Aussagen. Es kann verwendet werden, wenn Benutzer Bilder in Teilen verarbeiten oder erstellen möchten, um Code in Abschnitten auszuführen. Der mehrstufige Build ist auch hilfreich bei der Reduzierung der Bildgröße. Dieser Artikel hat das grundlegende Verständnis von Docker mehrstufigen Builds gezeigt.