Einführung
Ein Dockerfile ist ein Skript mit Anweisungen zum Erstellen eines Docker-Images. Diese Anweisungen sind eigentlich eine Gruppe von Befehlen, die automatisch in der Docker-Umgebung ausgeführt werden, um ein bestimmtes Docker-Image zu erstellen.
In diesem Tutorial erfahren Sie, wie Sie ein Docker-Image mit einem Dockerfile erstellen.
Voraussetzungen
- Ein Linux-System
- Zugriff auf das Befehlszeilen-/Terminalfenster
- Zugriff auf ein Benutzerkonto mit root oder sudo Privilegien
- Docker installiert und konfiguriert
Docker installieren
Wenn Sie daran interessiert sind, wie man ein Dockerfile zum Erstellen eines Images verwendet, ist Docker wahrscheinlich bereits auf Ihrem System installiert.
In dem unwahrscheinlichen Fall, dass dies nicht der Fall ist, lesen Sie einfach eine unserer Installationsanleitungen für die Installation von Docker unter Ubuntu, die Installation von Docker unter CentOS 7/RHEL 7 oder CentOS 8.
So erstellen Sie eine Dockerdatei
Als erstes müssen Sie ein Verzeichnis erstellen, in dem Sie alle von Ihnen erstellten Docker-Images speichern können.
1. Als Beispiel erstellen wir ein Verzeichnis mit dem Namen MyDockerImages mit dem Befehl:
mkdir MyDockerImages
2. Wechseln Sie in dieses Verzeichnis und erstellen Sie darin eine neue leere Datei (Dockerfile), indem Sie Folgendes eingeben:
cd MyDockerImages
touch Dockerfile
3. Öffnen Sie die Datei mit einem Texteditor Ihrer Wahl. In diesem Beispiel haben wir die Datei mit Nano geöffnet:
nano Dockerfile
4. Fügen Sie dann den folgenden Inhalt hinzu:
FROM ubuntu
MAINTAINER sofija
RUN apt-get update
CMD ["echo", "Hello World"]
- VON – Definiert die Basis des Bildes, das Sie erstellen. Sie können mit einem übergeordneten Bild beginnen (wie im obigen Beispiel) oder ein Basisbild . Wenn Sie ein übergeordnetes Image verwenden, verwenden Sie ein vorhandenes Image, auf dem Sie ein neues basieren. Die Verwendung eines Basisimages bedeutet, dass Sie bei Null anfangen (genau so würden Sie es definieren:FROM Scratch).
- WARTER – Gibt den Autor des Bildes an. Hier können Sie Ihren Vor- und/oder Nachnamen eingeben (oder sogar eine E-Mail-Adresse hinzufügen). Sie können auch das LABEL verwenden Anweisung zum Hinzufügen von Metadaten zu einem Bild.
- LAUFEN – Anweisungen zum Ausführen eines Befehls, während ein Bild in einer darüber liegenden Ebene erstellt wird. In diesem Beispiel sucht das System nach Repository-Updates, sobald es mit dem Erstellen des Docker-Images beginnt. Sie können mehr als eine RUN-Anweisung in einer Dockerfile haben.
- CMD – Es kann nur eine CMD-Anweisung in einer Dockerfile geben. Sein Zweck besteht darin, Standardwerte für einen ausführenden Container bereitzustellen. Damit legen Sie einen Standardbefehl fest. Das System führt es aus, wenn Sie einen Container ausführen, ohne einen Befehl anzugeben.
5. Speichern und beenden Sie die Datei.
6. Sie können den Inhalt der Datei mit cat
prüfen Befehl:
cat Dockerfile
Erstellen Sie ein Docker-Image mit Dockerfile
Die grundlegende Syntax zum Erstellen eines Images mithilfe einer Docker-Datei lautet:
docker build [OPTIONS] PATH | URL | -
Um ein Docker-Image zu erstellen, würden Sie daher Folgendes verwenden:
docker build [location of your dockerfile]
Wenn Sie sich bereits in dem Verzeichnis befinden, in dem sich das Dockerfile befindet, geben Sie ein .
ein anstelle des Ortes:
docker build .
Durch Hinzufügen des -t
Flag können Sie das neue Bild mit einem Namen versehen, der Ihnen beim Umgang mit mehreren Bildern hilft:
docker build -t my_first_image .
Sobald das Image erfolgreich erstellt wurde, können Sie mit dem folgenden Befehl überprüfen, ob es sich in der Liste der lokalen Images befindet:
docker images
Die Ausgabe sollte my_first_image zeigen im Repository verfügbar.
Neuen Container erstellen
Starten Sie einen neuen Docker-Container basierend auf dem Image, das Sie in den vorherigen Schritten erstellt haben. Wir werden den Container „test“ nennen und erstellen Sie es mit dem Befehl:
docker run --name test my_first_image
Die Hallo Welt Die Nachricht sollte in der Befehlszeile erscheinen, wie im obigen Bild zu sehen.