So erstellen Sie eine Dockerfile?

So erstellen Sie eine Dockerfile?
Mit Docker können Entwickler Anwendungen erstellen, testen und bereitstellen.

Docker ist ein Open-Source-Tool, das (en), alle erforderlichen Pakete und sein Basisbetriebssystem in Containerpakete verpackt werden. Da Docker -Container eigenständig sind, werden sie auf jedem System ausgeführt, ohne dass eine Neukonfiguration erforderlich ist.

Docker erstellt Container aus Bildern. Ein Docker -Image ist ein eigenständiges Paket, das alle Anforderungen für die Ausführung einer Anwendung wie Betriebssystem, Laufzeit, Systemtools, Bibliotheken, Konfigurationen und mehr definiert. Docker konvertiert die Bilder während der Laufzeit in Container.

Docker erstellt Bilder aus Konfigurationen, die in einer Dockerfile definiert sind. Eine Dockerfile ist einfach eine Konfigurationsdatei, in der alle Anweisungen zum Erstellen eines Docker -Images angegeben sind. Infolgedessen ist es einfacher und effizienter, Docker -Bilder mithilfe einer Dockerfile zu erstellen.

Diese Anleitung führt Sie durch das Erstellen einer Dockerfile und verwendet es, um ein Docker -Bild zu erstellen.

Dockerfile -Format

Die Dockerfile ist ein rohes Textdokument. Die Einträge in der Dockerfile befinden sich im folgenden Format:

$ Anweisungsargument (en)

Der erste Teil definiert die Docker -Befehle, die Sie in einer Docker -Shell verwenden können. Die zweite repräsentiert die Argumente oder spezifischen Werte, die an die Primäranweisung weitergegeben werden sollen.

NOTIZ: Die Anweisungen sind nicht sensibel. Docker empfiehlt jedoch, Großbuchstaben zu verwenden, um sie von Argumenten zu unterscheiden.

Das Folgende sind einige beliebte Anweisungen in einer Dockerfile.

AUS - Diese Anweisung definiert das übergeordnete Bild für nachfolgende Anweisungen. Aus Klausel muss der erste Eintrag in einer Dockerfile sein. Es kann nach einem Kommentar erfolgen oder eine Richtlinie analysieren oder in der von der Richtlinie verwendeten Args verwendet werden.

Arg - Es definiert Variablen, die während des Builds verwendet werden, sobald Sie den Befehl Docker Build in der Datei ausführen.

CMD - Dies legt den Befehl fest, der bei der Containererstellung ausgeführt wird. Docker erlaubt nur eine CMD -Anweisung pro Datei. Wenn Sie mehr als einen definiert haben, wird der letzte Befehl ausgeführt.

ETIKETT - Die Etikettenbefehl definiert Metadateninformationen für das Bild. Sie können so viele Etiketten hinzufügen, wie Sie in Form von Schlüsselwertpaaren angepasst sind. Zum Beispiel könnte Bildmetadaten die Versionsnummer, Autoreninformationen, Beschreibung usw. enthalten.

LAUFEN - Legt die Anweisungen fest, die während des Bildbaus ausgeführt werden sollen.

BENUTZER - Diese Anweisung legt den Benutzernamen oder die UID des Benutzers fest.

EINSTIEGSPUNKT - Es definiert die Befehle, die Docker bei der Containererstellung ausführen. Optionen sind in der Befehlszeile während des Containerstarts überschrieben.

HINZUFÜGEN - Diese Anweisung kopiert Dateien und Verzeichnisse von der angegebenen Quelle zu einem bestimmten Ziel. Die Quelle kann ein lokaler Weg oder eine externe URL sein. Wenn die Dateien Archive sind, packt Docker sie automatisch in das Bild aus.

VOLUMEN - Mit den Volumenanweisungen können Sie Mountspunkte aus Host -Maschinenverzeichnissen oder anderen Containern erstellen.

EXPONIEREN - Diese Anweisung zeigt Docker, welchen Port Sie während der Laufzeit anhören müssen.

Env - Es legt Umgebungsvariablen fest.

Workdir - Legt das aktuelle Arbeitsverzeichnis fest. Wenn das angegebene Verzeichnis nicht vorhanden ist, erstellt Docker automatisch eine.

Die oben genannten sind einige Standardanweisungen, die Sie in einer Dockerfile verwenden können.

So erstellen Sie eine Dockerfile

Der Prozess der Erstellung einer Dockerfile ist unkompliziert. Erstellen Sie zunächst ein Arbeitsverzeichnis für Ihre Docker -Operationen. Erstellen Sie als Nächstes eine Dockerfile und bearbeiten Sie sie mit Ihrem bevorzugten Texteditor.

$ cd ~
$ mkdir docker
$ CD Docker
$ touch dockerfile
$ vim dockerfile

Wir beginnen damit, das Basisbild aus dem Docker -Hub zu erhalten. Wir können dies tun, indem wir die Aus -Anweisung in der Dockerfile verwenden.

In diesem Beispiel erstellen wir einen einfachen Container mit dem laufenden Nginx -Server auf dem Debian 10 -Bild.

Debian 10 Bild auf Docker Hub

Bearbeiten Sie die Dockerfile und fügen Sie die folgenden Einträge hinzu.

Von ebian: 10.9
Führen Sie APT-Get-Update && \ aus
APT -Get Install -y nginx \
Label staartinger = "LinuxHint"
Label Version = ”1.0 "
Label Beschreibung = ”Ein einfaches Bild, das Nginx auf Debain 10 läuft”
80/TCP freilegen
Cmd ["nginx", "-g", "Daemon off;"]

In der obigen Dockerfile definieren wir zunächst das Basisbild (Debian 10.9)

Wir führen verschiedene APT-Befehle aus, um Pakete zu aktualisieren und NGINX-Webserver zu installieren.

Anschließend fügen wir Metadateninformationen zum Bild hinzu, einschließlich des Warters, der Version und der Beschreibung.

Schließlich setzen wir den Expose -Port und der Befehl schaltet den Nginx -Daemon aus. Der obige Befehl verhindert, dass der Container anhält.

Speichern Sie die Datei und führen Sie den Docker -Build gegen die Datei aus.

So erstellen Sie ein Dockerfile -Bild

Sobald wir die Dockerfile vollständig haben, können wir das Bild erstellen. Führen Sie den Befehl Docker Build im Docker -Verzeichnis aus:

$ cd ~/docker
$ docker build -pull -rm -f "dockerfile" -t docker: letztes ".”

Im obigen Befehl verwenden wir den Befehl Docker Build und übergeben verschiedene Optionen. Zum Beispiel fordert der -pull Docker auf, die neueste Version des Bildes zu ziehen.

Der -RM entfernt unmittelbare Container, nachdem der Bildbauvorgang abgeschlossen ist.

-F Gibt den Namen Dockerfile an.

Schließlich legt die Option -t das Tag für das Bild fest.

Die obigen Befehle erstellen das Bild erfolgreich und speichern es in Ihrer lokalen Festplatte.

Sie können überprüfen, ob das Bild existiert, indem Sie den Befehl aufrufen:

$ docker Bild ls
$ docker neuest 162e94589bec vor 2 Minuten 233 MB

So erstellen Sie einen Docker -Container

Nachdem wir das Bild von der Dockerfile haben, können wir einen Container hervorbringen. Dazu verwenden wir den Befehl Docker Run als:

$ docker run -p 80:80 -name nginx docker

Die obigen Befehle starten den Container mit dem Namen nginx und binden den Container an Port 80.

Verwenden Sie den Befehl, um laufende Container zu zeigen:

$ Docker Container ls
1C90266035b5 Nginx: Letzte 57 Sekunden vor 56 Sekunden 80/TCP Nginx

Der obige Befehl zeigt den Nginx -Container in Betrieb.

Abschluss

In diesem Tutorial wurde das Schreiben von Dockerfiles, das Erstellen von Bildern und das Ausführen eines Docker -Containers aus den Bildern behandelt. Um mehr über Dockerfiles zu erfahren, sollten Sie die Dokumentation berücksichtigen.