GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie ein benutzerdefiniertes Image aus einem Docker-Container

Ein eigenes benutzerdefiniertes Image zu erhalten, erleichtert die Arbeit mit Containern und fügt eine zusätzliche Sicherheitsebene hinzu. Jack Wallen zeigt Ihnen wie.

Ihre Container basieren alle auf Images, von denen Sie die meisten wahrscheinlich aus DockerHub oder einem anderen öffentlichen Repository ziehen. Aber warum erstellen Sie nicht Ihre eigenen benutzerdefinierten Bilder? Schließlich ist es für Sie einfacher, nicht nur genau das Bild zu erhalten, mit dem Sie arbeiten müssen, sondern auch ein besserer Weg zur Sicherheit. Es ist auch eine großartige Möglichkeit, ein Basis-Image zu erstellen, das Sie für eine wiederholbare Entwicklungsumgebung verwenden können (es enthält also genau die Tools, die Sie benötigen).

Mehr über die Cloud

Ich werde Ihnen zeigen, wie Sie genau das tun können – erstellen Sie ein Image aus einem Container mit der Docker-Laufzeit-Engine.

Was Sie brauchen

Ich werde auf Ubuntu Server 20.04 demonstrieren, aber Sie können dies auf jeder Plattform durchführen, die Docker unterstützt. Das einzige, was Sie ändern müssen, ist der Docker-Installationsprozess. Sie benötigen außerdem einen Benutzer mit sudo-Berechtigungen (für die Installation).

Machen wir uns also an die Arbeit.

So installieren Sie Docker

Lassen Sie uns zuerst Docker installieren. Wir installieren die neueste Version der Community Edition von Docker. Melden Sie sich bei Ihrem Server an und installieren Sie die erforderlichen Abhängigkeiten mit:

sudo apt-get install ca-certificates curl gnupg lsb-release -y

Sobald dies abgeschlossen ist, fügen Sie den Docker-GPG-Schlüssel hinzu:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Fügen Sie als Nächstes das Docker-Repository mit dem folgenden Befehl hinzu:

echo 
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu 
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Aktualisieren Sie apt und installieren Sie Docker-ce mit:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Fügen Sie Ihren Benutzer zur Docker-Gruppe hinzu mit:

sudo usermod -aG docker $USER

Melden Sie sich ab und wieder an, damit die Änderungen wirksam werden.

So erstellen Sie Ihren Basiscontainer

Wir werden das offizielle Ubuntu-Image verwenden, um unseren Container zu erstellen (der zum Erstellen des neuen Images verwendet wird). Lassen Sie uns die neueste Version von Ubuntu von DockerHub herunterladen und einen Container namens ubuntu-test mit dem folgenden Befehl erstellen:

docker run -ti --name=ubuntu-test ubuntu:latest

An diesem Punkt sollten Sie sich an der Bash-Eingabeaufforderung des laufenden Ubuntu-Containers wiederfinden. Nehmen wir an, dieses neue Image wird für die Java-Entwicklung verwendet. Installieren Sie die neueste Java-Laufzeitumgebung. Aktualisieren Sie zuerst apt mit:

apt-get update

Installieren Sie als Nächstes die neueste JRE mit:

apt-get install default-jre -y

Verlassen Sie nach Abschluss der Installation den Container mit:

exit

So erstellen Sie das neue Bild

Als erstes muss ein Commit für den laufenden Container erstellt werden. Tun Sie dies mit:

docker-commit-ubuntu-test

Als Nächstes müssen wir die Container-ID für unsere laufende Instanz mit dem folgenden Befehl ermitteln:

docker ps -a

Starten Sie den Container mit:

docker start ID

Wobei ID die Container-ID für ubuntu-test ist.

Als nächstes müssen wir die Bild-ID mit dem Befehl finden:

docker images

Als wir den Commit früher gemacht haben, hat er ein Bild ohne Tag oder Namen erstellt. Sie sehen ein Bild, das sowohl als ID als auch als Name aufgeführt ist. Das ist das Bild, das wir taggen möchten. Verwenden Sie die ersten vier Zeichen der Bild-ID des neuen Bilds und kennzeichnen Sie es mit:

docker tag ID ubuntu-test-base

Wobei ID die ersten vier Zeichen der Container-ID für ubuntu-test sind. Wenn Sie nun den Befehl docker images ausgeben, sehen Sie Ihr neues Image mit dem Namen ubuntu-test-base. Sie könnten dann einen neuen Container bereitstellen, der dieses neue Image verwendet, mit einem Befehl wie:

docker create --name ubuntu-jre ubuntu-test-base

Und das ist alles, um ein benutzerdefiniertes Docker-Image basierend auf einem modifizierten Container zu erstellen.

Abonnieren Sie TechRepublics How To Make Tech Work auf YouTube, um die neuesten technischen Ratschläge für Geschäftsleute von Jack Wallen zu erhalten.

Quelllink


Linux
  1. So erstellen, listen und löschen Sie Docker-Container unter Linux

  2. So trennen Sie sich von einem Docker-Container, ohne ihn zu stoppen

  3. So beenden Sie einen Docker-Container

  4. So erstellen Sie einen MySQL-Docker-Container zum Testen

  5. So erstellen Sie ein Docker-Image aus einem Container und einer Docker-Datei

So erstellen Sie ein Docker-Image aus einem laufenden Container

So erstellen Sie einen Django-Docker-Anwendungscontainer

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

So erstellen Sie ein benutzerdefiniertes Docker-Image mit Dockerfile

So führen Sie SSH in einen Docker-Container ein

So verwalten Sie Docker-Container