Docker ist eine der beliebtesten Open-Source-Plattformen für Entwickler und Systemadministratoren, um Anwendungen mit Containern zu erstellen, auszuführen und zu teilen. Die Containerisierung (die Verwendung von Containern zur Bereitstellung von Anwendungen) wird immer beliebter, da Container flexibel, leichtgewichtig, portabel, lose gekoppelt, skalierbar und sicherer sind.
Dieser Artikel ist ein guter Ausgangspunkt für Anfänger, um zu lernen, wie man Docker auf einem Ubuntu 20.04 Linux-System mit einigen grundlegenden Befehlen installiert und verwendet. Für diese Anleitung werden wir Docker Community Edition (CE) installieren.
Voraussetzungen:
Installation von Docker auf Ubuntu 20.04
Um die neueste Version von Docker zu verwenden, werden wir sie aus dem offiziellen Docker-Repository installieren. Beginnen Sie daher damit, den GPG-Schlüssel für das offizielle Docker-Repository zu Ihrem System hinzuzufügen und fügen Sie danach die Repository-Konfiguration zur APT-Quelle mit den folgenden Befehlen hinzu.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Aktualisieren Sie nun den APT-Paketcache, um die neuen Docker-Pakete in das System aufzunehmen, mit dem folgenden Befehl.
$ sudo apt update
Installieren Sie anschließend das Docker-Paket wie gezeigt.
$ sudo apt install docker-ce

Während des Docker-Paketinstallationsprozesses löst der Paketinstall
$ sudo systemctl is-active docker $ sudo systemctl is-enabled docker $ sudo systemctl status docker

Es gibt mehrere andere systemctl-Befehle zur Verwaltung und Steuerung des Docker-Dienstes, zu denen Folgendes gehört:
$ sudo systemctl stop docker #stop the docker service $ sudo systemctl start docker #start the docker service $ sudo systemctl restart docker #restart the docker service
Um die Version von Docker CE auf Ihrem System zu überprüfen, führen Sie den folgenden Befehl aus:
$ docker version

Sie können verfügbare Docker-Nutzungsbefehle anzeigen, indem Sie den Docker-Befehl ohne Optionen oder Argumente ausführen:
$ docker

Verwalten Sie Docker als Nicht-Root-Benutzer mit dem sudo-Befehl
Standardmäßig bindet der Docker-Dämon an einen UNIX-Socket (anstelle eines TCP-Ports), der dem Benutzer root gehört. Daher wird der Docker-Dämon immer als Benutzer root ausgeführt und um den docker-Befehl auszuführen, müssen Sie sudo verwenden.
Außerdem wird während der Docker-Paketinstallation eine Gruppe namens docker
erstellt. Wenn der Docker-Dämon gestartet wird, erstellt er einen UNIX-Socket, auf den Mitglieder der docker-Gruppe zugreifen können (was Privilegien äquivalent zum root-Benutzer gewährt).
Um den docker-Befehl ohne sudo auszuführen, fügen Sie alle nicht-root-Benutzer, die auf docker zugreifen sollen, der docker-Gruppe wie folgt hinzu. In diesem Beispiel fügt der Befehl den momentan angemeldeten Benutzer ($USER)
oder den Benutzernamen zur docker-Gruppe hinzu:
$ sudo usermod -aG docker $USER OR $ sudo usermod -aG docker username
Um die Änderungen an den Gruppen zu aktivieren, führen Sie den folgenden Befehl aus:
$ newgrp docker $ groups

Überprüfen Sie als nächstes, ob Sie docker-Befehle ohne sudo ausführen können. Der folgende Befehl lädt ein Testbild herunter und führt es in einem Container aus. Sobald der Container läuft, wird eine Informationsmeldung ausgegeben und der Vorgang beendet. Dies ist auch eine weitere Möglichkeit, um zu überprüfen, ob Ihre Installation einwandfrei funktioniert.
$ docker run hello-world

Arbeiten mit Docker-Images
A Docker image is a read-only template file with instructions for creating a Docker container. You can either create your custom images or you can only use those created by others and published in the Docker Hub, the world’s largest library and community for container images.
Sie können mit dem folgenden Befehl nach einem centos
-Image im Docker Hub suchen:
$ docker search centos

Um ein Image lokal herunterzuladen, verwenden Sie den pull-Befehl. Dieses Beispiel zeigt, wie Sie das offizielle centos-Image herunterladen:
$ docker pull centos

Nach Abschluss des Downloads können Sie die verfügbaren Images auf Ihrem lokalen System auflisten.
$ docker images

Wenn Sie ein Image nicht mehr benötigen, können Sie es von Ihrem System entfernen.
$ docker rmi centos OR $ docker rmi centos:latest #where latest is the tag
Ausführen und Verwalten von Docker-Containern
A Docker container is a process that runs natively on Linux and shares the kernel of the host machine with other containers. Concerning a Docker image, a container is just a running image.
Um einen Container basierend auf Ihrem neuen centos
-Image zu starten, führen Sie den folgenden Befehl aus, wobei “centos”
der lokale Bildname ist und “cat /etc/centos-release” der Befehl ist, der im Container ausgeführt werden soll:
$ docker run centos cat /etc/centos-release

A container runs a discrete process that is isolated in that it has its own: file system, networking, and isolated process tree separate from the host. Note that you can manipulate a container using the container’s ID, ID-prefix, or name as shown below. The above container process exits after the command runs.
Um Docker-Container aufzulisten, verwenden Sie den Befehl docker ps wie folgt. Verwenden Sie die Flagge -l
, um den zuletzt erstellten Container in allen Zuständen anzuzeigen:
$ docker ps OR $ docker ps -l

Um alle Container anzuzeigen, einschließlich derjenigen, die beendet wurden, verwenden Sie die Flagge -a
.
$ docker ps -a

Sie können auch einen Container anhand seiner Container-ID starten, nachdem er beendet wurde. Zum Beispiel lautet in dem vorherigen Befehl unsere Container-ID 94c35e616b91. Wir können den Container wie gezeigt starten (beachten Sie, dass er den Befehl ausführt und beendet):
$ docker start 94c35e616b91

Um einen laufenden Container anhand seiner ID zu stoppen, verwenden Sie das stop-Befehl wie gezeigt.
$ docker stop 94c35e616b91
Docker ermöglicht es Ihnen auch, einem Container beim Starten einen Namen zuzuweisen, indem Sie die Option --name
verwenden.
$ docker run --name my_test centos cat /etc/centos-release $ docker ps -l

Jetzt können Sie den Containernamen verwenden, um den Container zu verwalten (starten, stoppen, Statistiken anzeigen, entfernen usw.):
$ docker stop my_test $ docker start my_test $ docker stats my_test $ docker rm my_test
Ausführen einer interaktiven Sitzung in einen Docker-Container
Um eine interaktive Shell-Sitzung in einem Container zu starten und Befehle innerhalb des Containers auszuführen, führen Sie den folgenden Befehl aus:
$ docker run --name my_test -it centos

In dem obigen Befehl geben die -it
-Schalter Docker an, eine Pseudo-TTY zuzuweisen, die mit der Standardausgabe des Containers verbunden ist und somit eine interaktive Bash-Shell im Container erstellt.
Sie können durch Eingabe des exit-Befehls wie gezeigt verlassen.
# exit
Wenn Sie es vorziehen, nicht zu beenden, können Sie sich von einem Container trennen und ihn laufen lassen. Verwenden Sie dazu die Tastenkombination STRG+p
und dann STRG+q
.

Sie können wieder eine Verbindung zum Container herstellen, indem Sie den attach-Befehl verwenden, der die lokalen Standardeingabe-, -ausgabe- und -fehlerströme mit dem laufenden Container verbindet:
$ docker attach my_test
Außerdem können Sie einen Container im Hintergrundmodus starten, indem Sie das -d
-Flag verwenden. Verwenden Sie dann den attach-Befehl, um die Standardeingabe-, -ausgabe- und -fehlerströme Ihres Terminals mit dem laufenden Container zu verbinden:
$ docker run --name my_test -d -it centos $ docker attach my_test

Zu guter Letzt können Sie einen laufenden Container von der Host-Sitzung aus stoppen, indem Sie den folgenden Befehl ausführen:
$ docker kill my_test
Das war alles! In diesem Leitfaden haben wir behandelt, wie man Docker CE in Ubuntu 20.04 Linux installiert und verwendet. Wenn Sie Fragen haben, verwenden Sie das untenstehende Feedback-Formular, um uns zu fragen.