Docker ist eine Containerisierungstechnologie, mit der Sie Anwendungen schnell als tragbare, autarke Container erstellen, testen und bereitstellen können, die praktisch überall ausgeführt werden können. Docker hat sich zum De-facto-Standard für die Bereitstellung von Containern entwickelt und ist ein unverzichtbares Tool für DevOps-Ingenieure und ihre kontinuierliche Integrations- und Bereitstellungspipeline.
In diesem Tutorial behandeln wir die Installation von Docker auf einem Ubuntu 18.04-Rechner und untersuchen die grundlegenden Docker-Konzepte und -Befehle.
Voraussetzungen #
Bevor Sie mit diesem Tutorial fortfahren, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind. Alle Befehle in diesem Tutorial sollten als Nicht-Root-Benutzer ausgeführt werden.
Installieren von Docker auf Ubuntu #
Obwohl das Docker-Installationspaket im offiziellen Ubuntu 18.04-Repository verfügbar ist, ist es möglicherweise nicht immer die neueste Version. Der empfohlene Ansatz besteht darin, das neueste Docker-Paket aus den Docker-Repositories zu installieren.
Docker-Repository wird aktiviert #
-
Beginnen Sie damit, die Paketliste zu aktualisieren und die Abhängigkeiten zu installieren, die zum Hinzufügen eines neuen Repositorys über HTTPS erforderlich sind:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
-
Importieren Sie den GPG-Schlüssel des Repositorys mit dem folgenden
curl
Befehl:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
Fügen Sie das Docker-APT-Repository zu Ihrem System hinzu:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Installieren von Docker CE #
Da das Docker-Repository nun aktiviert ist, können Sie jede gewünschte Docker-Version installieren.
-
Verwenden Sie den folgenden Befehl, um die neueste Version von Docker zu installieren. Wenn Sie eine bestimmte Docker-Version installieren möchten, überspringen Sie diesen Schritt und fahren Sie mit dem nächsten fort.
sudo apt update
sudo apt install docker-ce
-
Um eine bestimmte Version zu installieren, listen Sie zunächst die verfügbaren Versionen im Docker-Repository auf:
apt list -a docker-ce
Der Befehl gibt die verfügbaren Docker-Versionen in der zweiten Spalte aus.
docker-ce/bionic 5:18.09.7~3-0~ubuntu-bionic amd64 docker-ce/bionic 5:18.09.6~3-0~ubuntu-bionic amd64 docker-ce/bionic 5:18.09.5~3-0~ubuntu-bionic amd64
Zum Beispiel, um Version
18.09.6
zu installieren Sie würden Folgendes eingeben:sudo apt install docker-ce=5:18.09.6~3-0~ubuntu-bionic
Um zu verhindern, dass das Docker-Paket automatisch aktualisiert wird, markieren Sie es als zurückgehalten:
sudo apt-mark hold docker-ce
Sobald die Installation abgeschlossen ist, wird der Docker-Dienst automatisch gestartet. Sie können dies überprüfen, indem Sie Folgendes eingeben:
sudo systemctl status docker
Die Ausgabe sieht in etwa so aus:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor p
Active: active (running) since Tue 2019-07-02 11:28:40 UTC; 15min ago
Docs: https://docs.docker.com
Main PID: 11911 (dockerd)
Tasks: 10
CGroup: /system.slice/docker.service
Docker-Befehl ohne sudo ausführen #
Standardmäßig sind zum Ausführen von Docker-Befehlen Administratorrechte erforderlich.
So führen Sie Docker-Befehle als Nicht-Root-Benutzer aus, ohne sudo
voranzustellen Sie müssen Ihren Benutzer zum docker
hinzufügen Gruppe. Diese Gruppe wird während der Installation des Docker CE-Pakets erstellt. Führen Sie dazu den folgenden Befehl aus:
sudo usermod -aG docker $USER
$USER
ist eine Umgebungsvariable, die Ihren Benutzernamen enthält.
Melden Sie sich ab und wieder an, um die Gruppenmitgliedschaft zu aktualisieren.
Um zu überprüfen, ob Docker erfolgreich installiert wurde und ob Sie Docker-Befehle ausführen können, ohne sudo
voranzustellen , ausführen:
docker container run hello-world
Der Befehl lädt ein Test-Image herunter, führt es in einem Container aus, gibt eine „Hello from Docker“-Nachricht aus und beendet sich. Die Ausgabe sollte wie folgt aussehen:
Docker wird aktualisiert #
Wenn eine neue Docker-Version veröffentlicht wird, können Sie das Paket mit dem Standard-Upgrade-Prozess aktualisieren:
sudo apt update
sudo apt upgrade
Docker wird deinstalliert #
Entfernen Sie vor der Deinstallation von Docker alle Container, Images, Volumes und Netzwerke.
Sie können Docker wie jedes andere mit apt
installierte Paket deinstallieren :
sudo apt purge docker-ce
sudo apt autoremove
Docker-Befehlszeilenschnittstelle #
Der Docker-CLI-Befehl hat folgende Form:
docker [option] [subcommand] [arguments]
Um alle verfügbaren Befehle aufzulisten, geben Sie docker
ein ohne Parameter:
docker
Wenn Sie weitere Hilfe zu einem [subcommand]
benötigen , können Sie die --help
verwenden Schalter wie unten gezeigt:
docker [subcommand] --help
Docker-Images #
Ein Docker-Image besteht aus einer Reihe von Dateisystemschichten, die Anweisungen in der Docker-Datei des Images darstellen, die eine ausführbare Softwareanwendung bilden. Ein Image ist eine unveränderliche Binärdatei, die die Anwendung und alle anderen Abhängigkeiten wie Bibliotheken, Binärdateien und Anweisungen enthält, die zum Ausführen der Anwendung erforderlich sind.
Sie können sich ein Docker-Image als Snapshot eines Docker-Containers vorstellen.
Die meisten Docker-Images sind auf Docker Hub verfügbar. Der Docker Hub ist ein Cloud-basierter Registrierungsdienst, der unter anderem dazu dient, die Docker-Images in öffentlichen oder privaten Repositorys aufzubewahren.
Suche Docker-Image #
Um nach einem Image aus der Docker Hub-Registrierung zu suchen, verwenden Sie die search
Unterbefehl.
Um beispielsweise nach einem Ubuntu-Image zu suchen, würden Sie Folgendes eingeben:
docker search ubuntu
Die Ausgabe sollte so aussehen:
Wie Sie sehen können, druckt die Suche eine Tabelle mit fünf Spalten, NAME
, DESCRIPTION
, STARS
, OFFICIAL
und AUTOMATED
.
Das offizielle Image ist ein Image, das Docker gemeinsam mit Upstream-Partnern entwickelt.
Die meisten Docker-Images auf Docker Hub sind mit Versionsnummern gekennzeichnet. Wenn kein Tag angegeben ist, ruft Docker das neueste ab.
Docker-Image # herunterladen
Um beispielsweise den neuesten offiziellen Build des Ubuntu 18.04-Images herunterzuladen, würden Sie den folgenden image pull
verwenden Befehl:
docker image pull ubuntu
Abhängig von Ihrer Internetgeschwindigkeit kann der Download einige Sekunden oder Minuten dauern.
Wenn kein Tag angegeben wird, ruft Docker das neueste Ubuntu-Image ab, das zum Zeitpunkt des Schreibens dieses Artikels 18.04 ist.
Wenn Sie eine frühere Ubuntu-Version herunterladen möchten, sagen wir Ubuntu 16.04, müssen Sie docker image pull ubuntu:16.04
verwenden .
Um alle heruntergeladenen Bilder aufzulisten, geben Sie Folgendes ein:
docker image ls
Die Ausgabe sieht in etwa so aus:
Docker-Image # entfernen
Wenn Sie aus bestimmten Gründen ein Bild löschen möchten, können Sie dies mit image rm [image_name]
tun Unterbefehl:
docker image rm ubuntu
Docker-Container #
Eine Instanz eines Bildes wird Container genannt. Ein Container stellt eine Laufzeit für eine einzelne Anwendung, einen Prozess oder einen Dienst dar.
Es ist vielleicht nicht der geeignetste Vergleich, aber wenn Sie ein Programmierer sind, können Sie sich ein Docker-Image als Klasse und einen Docker-Container als Instanz einer Klasse vorstellen.
Mit dem docker container
können wir einen Container starten, stoppen, entfernen und verwalten Unterbefehl.
Starten Sie den Docker-Container #
Der folgende Befehl startet einen Docker-Container basierend auf dem Ubuntu-Image. Wenn Sie das Bild nicht lokal haben, wird es zuerst heruntergeladen:
docker container run ubuntu
Auf den ersten Blick mag es Ihnen scheinen, als wäre überhaupt nichts passiert. Nun, das stimmt nicht. Der Ubuntu-Container stoppt sofort nach dem Hochfahren, da er keinen lang andauernden Prozess hat und wir keinen Befehl angegeben haben. Der Container startete, führte einen leeren Befehl aus und beendete sich dann.
Der Schalter -it
ermöglicht es uns, über die Befehlszeile mit dem Container zu interagieren. Um einen interaktiven Container zu starten, geben Sie Folgendes ein:
docker container run -it ubuntu /bin/bash
[root@719ef9304412 /]#
Wie Sie der obigen Ausgabe entnehmen können, wird die Eingabeaufforderung geändert, sobald der Container gestartet wurde. Das bedeutet, dass Sie jetzt innerhalb des Containers arbeiten.
Docker-Container auflisten #
Um aktive Container aufzulisten, geben Sie Folgendes ein:
docker container ls
Wenn Sie keine laufenden Container haben, ist die Ausgabe leer.
Um sowohl aktive als auch inaktive Container anzuzeigen, übergeben Sie ihm den -a
Schalter:
docker container ls -a
Entfernen Sie Docker-Container #
Um einen oder mehrere Container zu löschen, kopieren Sie die Container-ID (oder IDs) und fügen Sie sie nach dem container rm
ein Unterbefehl:
docker container rm c55680af670c