Wie man Docker auf Ubuntu 20.04 installiert und verwendet

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
Install Docker on Ubuntu

Während des Docker-Paketinstallationsprozesses löst der Paketinstall

$ sudo systemctl is-active docker
$ sudo systemctl is-enabled docker
$ sudo systemctl status docker
Check Docker Status

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
Check Docker Version

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

 
$ docker
List of Docker Commands

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
Add User to Docker Group

Ü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
Verify Docker Installation

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 
Search Docker Images

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

$ docker pull centos
Download CentOS Docker Image

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

$ docker images
List 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
Run Commands in Docker Container

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
List Docker Containers

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

$ docker ps -a
Show All Docker Containers

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
Start a Docker Container Using ID

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
Assign a Name to Docker Container

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
Start Interactive Shell into a Container

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.

Detach Docker from a Running Session

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
Start Docker Container in Detached Mode

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.

Source:
https://www.tecmint.com/install-docker-on-ubuntu/