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