GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

So erstellen Sie ein benutzerdefiniertes Docker-Image mit Dockerfile

Docker bietet eine einfache Möglichkeit, jedes Docker-Image zu konfigurieren und mit Hilfe der Docker-Datei Ihr eigenes benutzerdefiniertes Image zu erstellen.

In diesem Tutorial erfahren Sie, wie Sie ein offizielles Image aus dem Docker-Repository ziehen und es an Ihre eigenen Anforderungen anpassen. Anschließend können Sie das benutzerdefinierte Docker-Image ausführen und überprüfen.

Benutzerdefiniertes Docker-Image erstellen

In diesem Beispiel verwenden Sie also ein Alpine-Linux-Image, das standardmäßig keinen Vim-Editor enthält. Sie ändern dieses Docker-Image, um ein neues Docker-Image von Alpine Linux zu erstellen, das standardmäßig den Vim-Editor enthält. Einfacher geht es nicht. kann es?

Voraussetzung

Falls Sie dies noch nicht getan haben, installieren Sie bitte Docker auf Ubuntu oder der von Ihnen verwendeten Linux-Distribution. Stellen Sie sicher, dass Sie sich der Docker-Gruppe hinzufügen, damit Sie Docker ohne sudo ausführen können.
Sie benötigen eine aktive Internetverbindung, um das Basis-Docker-Image herunterzuladen.

Schritt 1:Docker-Image abrufen [optional]

Ich habe mich in diesem Beispiel für Alpine Linux entschieden, weil es wirklich klein ist. Das Alpine-Docker-Image ist kaum 5 MB groß, können Sie es glauben? Es ist die perfekte Linux-Distribution für die Containerisierung.

Dieser Schritt ist optional. Ich habe es eingefügt, um zu zeigen, dass Sie es mit dem angepassten Docker-Image vergleichen können.

Ziehen Sie das neueste Docker-Image von Alpine Linux mit dem Docker-Pull-Befehl:

docker pull alpine

Schritt 2:Dockerfile mit der erforderlichen Anpassung erstellen

Lassen Sie uns nun eine neue leere Datei namens Dockerfile mit dem Touch-Befehl erstellen.

touch Dockerfile

Jetzt müssen Sie diese Datei und diese drei Zeilen dazu bearbeiten und speichern. Sie können einen Editor wie Vim oder Nano verwenden oder den cat-Befehl verwenden, um diese Zeilen zur Docker-Datei hinzuzufügen.

FROM alpine:latest
RUN apk update
RUN apk add vim

Was Sie hier tun, ist ein neues Docker-Image zu erstellen, indem Sie das neueste Alpine-Docker-Image vom Docker Hub herunterladen.

Wie apt verwendet Alpine den apk-Paketmanager. Die nächsten beiden Befehle weisen Alpine Linux also im Grunde an, den verfügbaren Paketcache zu aktualisieren (apk update) und dann Vim zu installieren (apk add vim).

Wie Sie sehen, können Sie mit RUN in Dockerfile Ihr Basis-Docker-Image anpassen, indem Sie bestimmte Befehle ausführen.

Schritt 3:Erstellen Sie das benutzerdefinierte Docker-Image mit Dockerfile

Der Befehl zum Erstellen des benutzerdefinierten Images aus der Docker-Datei sieht folgendermaßen aus:

docker build -t new_docker_image_name PATH_to_Dockerfile

Mit dem Tag -t geben Sie den Namen Ihres benutzerdefinierten Docker-Images an.

Da sich Ihre Docker-Datei in Ihrem aktuellen Verzeichnis befindet, können Sie das neue Docker-Image von Alpine Linux mit installiertem Vim wie folgt erstellen:

docker build -t alpine-with-vim .

Sehen wir uns jetzt die verfügbaren Docker-Images auf dem System an:

[email protected]:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
alpine-with-vim     latest              fa8255cf0de0        5 seconds ago       33.9MB
alpine              latest              a187dde48cd2        3 weeks ago         5.6MB

Sie können sehen, dass das Basis-Docker-Image, das kaum 5 MB groß war, jetzt 33 MB groß ist, wenn Vim darauf installiert ist (und der Paket-Cache aktualisiert wurde).

Lassen Sie uns nun überprüfen, ob Ihre modifizierten Docker-Images vim installiert haben, indem Sie einen Container davon ausführen:

docker container run -ti alpine-with-vim /bin/sh

Sobald Sie sich im Container befinden, können Sie überprüfen, ob Vim installiert ist, indem Sie seine Version überprüfen:

/ # vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Dec 12 2019 19:30:49)
Compiled by Alpine Linux

Verlassen Sie den Container, indem Sie im Terminal exit eingeben. Stoppen Sie den Container, entfernen Sie den Container und entfernen Sie die Docker-Images (falls Sie möchten), um Speicherplatz freizugeben.

Herzlichen Glückwunsch! Sie haben gerade gelernt, wie Sie Ihr eigenes benutzerdefiniertes Docker-Image erstellen.

Ich weiß, dass es kein sehr umfangreiches Tutorial ist und Sie möglicherweise komplexe Anforderungen haben. Aber dieses Tutorial ist der erste Schritt zum Verständnis der Docker-Image-Anpassung.

Ich empfehle dringend, mehr über Dockerfile zu lesen, um zu erfahren, welche anderen Optionen Ihnen zum Anpassen von Docker-Images zur Verfügung stehen.

Wenn Sie Fragen oder Anregungen haben, hinterlassen Sie bitte unten einen Kommentar.


Docker
  1. So installieren Sie Jenkins mit Docker

  2. So verwenden Sie ein Dockerfile zum Erstellen eines Docker-Images

  3. So ändern Sie Docker-Images

  4. So übertragen Sie Änderungen an einem Docker-Image

  5. So erstellen Sie ein benutzerdefiniertes Image aus einem Docker-Container

So erstellen Sie Docker-Images mit einer Docker-Datei unter Ubuntu 20.04 LTS

So erstellen Sie mit Cubic ein benutzerdefiniertes Live-ISO-Image für Ubuntu

Eine kurze Einführung in Dockerfile

So indizieren Sie die Abhängigkeiten Ihres Docker-Images mit Syft

So erstellen Sie ein Docker-Image aus einem laufenden Container

So erstellen Sie ein Docker-Windows-Image mit Docker-Build-Tag