DIE DOCKER-INSTALLATION
Einführung
Docker ist eine Anwendung, die den Prozess der Verwaltung von Anwendungsprozessen in Containern vereinfacht.
Mit Containern können Sie Ihre Anwendungen in von Ressourcen isolierten Prozessen ausführen.
Sie sind ähnlich wie virtuelle Maschinen, aber Container sind portabler, ressourcenschonender und abhängiger vom Host-Betriebssystem.
SCHRITT 1 – DOCKER INSTALLIEREN
sudo apt update
Als Nächstes installieren Sie einige vorausgesetzte Pakete, damit apt Pakete über HTTPS verwenden kann:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Fügen Sie dann den GPG-Schlüssel für das offizielle Docker-Repository zu Ihrem System hinzu:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Hinzufügen des Docker-Repositorys zu den APT-Quellen
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Dadurch wird auch unsere Paketdatenbank mit den Docker-Paketen aus dem neu hinzugefügten Repo aktualisiert.
Vergewissern Sie sich, dass Sie aus dem Docker-Paketarchiv und nicht aus dem standardmäßigen Ubuntu-Paketarchiv installieren wollen:
apt-cache policy docker-ce
Installieren Sie schließlich Docker:
sudo apt install docker-ce
Docker sollte nun installiert, der Daemon gestartet und der Prozess zum Starten beim Booten aktiviert sein. Prüfen Sie, ob er läuft
sudo systemctl status docker
Die Ausgabe sollte in etwa so aussehen wie die folgende
Output
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-05-19 17:00:41 UTC; 17s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 24321 (dockerd)
Tasks: 8
Memory: 46.4M
CGroup: /system.slice/docker.service
└─24321 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Docker-Installation ist abgeschlossen
SCHRITT 2 – AUSFÜHREN DES DOCKER-BEFEHLS
um zu vermeiden, dass Sie jedes Mal sudo eingeben müssen, wenn Sie den Docker-Befehl ausführen, fügen Sie Ihren Benutzernamen zur Docker-Gruppe hinzu:
sudo usermod -aG docker ${USER}
So wenden Sie die neue Gruppenmitgliedschaft an
su - ${USER}
um einen Benutzer zur Docker-Gruppe hinzuzufügen, mit dem Sie nicht eingeloggt sind, geben Sie diesen Benutzernamen explizit mit an:
sudo usermod -aG docker username
SCHRITT 3 – VERWENDUNG DES DOCKER-BEFEHLS
Standard Docker sytnax
docker [option] [command] [arguments]
So zeigen Sie alle Befehle an
docker
So zeigen Sie die verfügbaren Optionen für einen bestimmten Befehl an
docker docker-subcommand --help
So zeigen Sie alle Systeminformationen in Docker an
docker info
SCHRITT 4 – ARBEITEN MIT DOCKER-IMAGES
So überprüfen Sie, ob Sie auf Images von Docker Hub zugreifen und diese herunterladen können
Output
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:6a65f928fb91fcfbc963f7aa6d57c8eeb426ad9a20c7ee045538ef34847f44f1
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
Sie können nach Images suchen, die auf Docker Hub verfügbar sind, indem Sie den Befehl docker mit der Option search
Output
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 10908 [OK]
dorowu/ubuntu-desktop-lxde-vnc Docker image to provide HTML5 VNC interface … 428 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 244 [OK]
consol/ubuntu-xfce-vnc Ubuntu container with "headless" VNC session… 218 [OK]
ubuntu-upstart Upstart is an event-based replacement for th… 108 [OK]
ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS with
Führen Sie den folgenden Befehl aus, um das offizielle Ubuntu-Image auf Ihren Computer herunterzuladen
Output
Using default tag: latest
latest: Pulling from library/ubuntu
d51af753c3d3: Pull complete
fc878cd0a91c: Pull complete
6154df8ff988: Pull complete
fee5db0ff82f: Pull complete
Digest: sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
um die Bilder zu sehen, die auf Ihren Computer heruntergeladen wurden,
docker images
Die Ausgabe wird ähnlich aussehen
Output
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 1d622ef86b13 3 weeks ago 73.9MB
hello-world latest bf756fb1ae65 4 months ago 13.3kB
Schritt 5 – Ausführen eines Docker-Containers
Der hello-world-Container, den Sie im vorherigen Schritt ausgeführt haben, ist ein Beispiel für einen Container, der nach dem Senden einer Testnachricht ausgeführt und beendet wird
docker run -it ubuntu
Um einen beliebigen Befehl innerhalb des Containers auszuführen, aktualisieren wir zum Beispiel die Paketdatenbank innerhalb des Containers. Sie brauchen jetzt kein SUDO mehr zu machen. Sie befinden sich innerhalb des Containers und sind daher bereits root-Benutzer.
apt update
Installieren Sie dann die Anwendung darin.
apt install nodejs
So überprüfen Sie, ob die Anwendung Node.js installiert ist:
node -v
Um den Container zu verlassen, geben Sie exit an der Eingabeaufforderung ein.
STEP 6 — MANAGING DOCKER CONTAINERS
So zeigen Sie die aktiven Container an
docker ps
Sie werden eine ähnliche Ausgabe sehen
Output
CONTAINER ID IMAGE COMMAND CREATED
So zeigen Sie alle Container an – aktive und inaktive
docker ps -a
Sie werden eine ähnliche Ausgabe sehen
1c08a7a0d0e4 ubuntu "/bin/bash" 2 minutes ago Exited (0) 8 seconds ago quizzical_mcnulty
a707221a5f6c hello-world "/hello" 6 minutes ago Exited (0) 6 minutes ago youthful_curie
So stoppen Sie einen laufenden Container
docker stop quizzical_mcnulty
So entfernen Sie einen laufenden Container
docker rm youthful_curie
SCHRITT 7 – ÜBERTRAGEN VON DOCKER-ABBILDERN IN EIN DOCKER-REPOSITORY
Um Ihr Image zu pushen, melden Sie sich zunächst bei Docker Hub an.
docker login -u docker-registry-username
Hinweis: Wenn Ihr Docker-Registry-Benutzername nicht mit dem lokalen Benutzernamen übereinstimmt, den Sie zum Erstellen des Images verwendet haben, müssen Sie Ihr Image mit Ihrem Registry-Benutzernamen kennzeichnen. Für das Beispiel aus dem letzten Schritt würden Sie Folgendes eingeben:
docker tag sammy/ubuntu-nodejs docker-registry-username/ubuntu-nodejs
Dann können Sie das Bild verschieben
docker push sammy/ubuntu-nodejs
Dieser Vorgang kann einige Zeit in Anspruch nehmen. Nach Abschluss sieht die Ausgabe wie folgt aus
Output
The push refers to a repository [docker.io/sammy/ubuntu-nodejs]
e3fbbfb44187: Pushed
5f70bf18a086: Pushed
a3b5c80a4eba: Pushed
7f18b442972b: Pushed
3ce512daaf78: Pushed
7aae4540b42d: Pushed
...