GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren und verwenden Sie Docker in Ubuntu 20.04

Docker ist eine Reihe von Platform-as-a-Service-Produkten, die eine Virtualisierung auf Betriebssystemebene verwenden, um Software in Paketen bereitzustellen, die als Container bezeichnet werden. Container sind voneinander isoliert und bündeln ihre eigene Software, Bibliotheken und Konfigurationsdateien; sie können über klar definierte Kanäle miteinander kommunizieren.

Verwandte Beiträge

  • So installieren und konfigurieren Sie Docker in Fedora 34/35
  • So installieren und konfigurieren Sie Docker unter Debian 11
  • So installieren und konfigurieren Sie Docker in Centos 8
  • Erste Schritte mit Docker Compose mit Beispielen
  • Docker als Build-Agent – ​​Führen Sie Jenkins-Builds auf Docker aus

Voraussetzungen

Um mitzumachen, stellen Sie sicher, dass Sie Folgendes haben:

  • Ein Ubuntu 20.04-System
  • Internetzugang vom System aus
  • Root-Zugriff oder Benutzer mit Sudo-Zugriff

Inhaltsverzeichnis

  1. Stellen Sie sicher, dass Ihre Systempakete auf dem neuesten Stand sind
  2. Deinstallieren Sie frühere Versionen, falls vorhanden
  3. Installieren Sie die Docker-Engine mithilfe des Repositorys
  4. Installieren Sie die Docker-Engine aus einem Paket
  5. Installieren Sie mit dem Convenience-Skript
  6. Installation überprüfen
  7. Ausführen des Docker-Befehls ohne Sudo
  8. Docker deinstallieren, wenn es länger benötigt wird

1. Stellen Sie sicher, dass Ihre Systempakete auf dem neuesten Stand sind

Bevor Sie fortfahren, lassen Sie uns sicherstellen, dass Ihre Pakete aktualisiert sind

sudo apt update
sudo apt upgrade -y

2. Deinstallieren Sie frühere Versionen, falls vorhanden

Pakete, die ältere Versionen von Docker bereitstellen, sind docker , docker.io , oder docker-engine .
Lassen Sie uns diesen Befehl verwenden, um sicherzustellen, dass diese Pakete nicht in unserem System existieren:

sudo apt-get remove -y docker docker-engine docker.io containerd runc

Es ist in Ordnung, wenn apt-get meldet, dass keines dieser Pakete installiert ist.

Docker installieren

Sie können Docker Engine je nach Bedarf auf unterschiedliche Weise installieren:

  • Sie können Docker-Repositories einrichten und Docker mit apt installieren
  • Sie können die DEB-Pakete herunterladen und manuell installieren
  • Sie können wählen, ob Sie automatisierte praktische Skripts verwenden möchten, um Docker zu installieren

3. Installieren Sie die Docker-Engine mithilfe des Repositorys

Auf einem neuen Host sind die Docker-Repositorys nicht vorhanden. Zum ersten Mal auf einem neuen Hostcomputer müssen Sie das Docker-Repository einrichten. Anschließend können Sie Docker aus dem Repository installieren und aktualisieren.

Lassen Sie uns die folgenden Pakete installieren, damit apt ein Repository über HTTPS verwenden kann:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Fügen Sie den offiziellen GPG-Schlüssel von Docker hinzu:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Verwenden Sie den folgenden Befehl, um das stabile Repository einzurichten.

echo \
  "deb [arch=amd64 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

Docker-Engine installieren

Aktualisieren Sie den apt-Paketindex, da wir ein neues Repository hinzugefügt haben:

sudo apt-get update

Lassen Sie uns nun die neueste Version von Docker Engine und containerd usi installieren

sudo apt-get install -y docker-ce docker-ce-cli containerd.io

Optional:Installieren einer bestimmten Version

Wenn Sie Anforderungen haben, die eine bestimmte Version erfordern, können Sie dies tun.

So installieren Sie eine bestimmte Version:
Listen Sie die Versionen auf, die in Ihrem Repo verfügbar sind:

$ sudo apt-cache madison docker-ce
 docker-ce | 5:20.10.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.8~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.7~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.6~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.5~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.4~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.3~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.2~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.1~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.0~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.15~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.14~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.13~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.12~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages

Jetzt können Sie mithilfe der Versionszeichenfolge aus der zweiten Spalte eine bestimmte Version installieren, zum Beispiel 5:19.03.9~3-0~ubuntu-focal .

sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

Beispiel:

sudo apt-get install docker-ce=5:19.03.9~3-0 docker-ce-cli=5:19.03.9~3-0 containerd.io

4. Docker-Engine aus einem Paket installieren

Wenn Sie das Repository von Docker nicht verwenden können, um Docker Engine zu installieren, können Sie die .deb-Datei für Ihre Version herunterladen und manuell installieren. Sie müssen jedes Mal eine neue Datei herunterladen, wenn Sie Docker aktualisieren möchten.

Gehen Sie zu https://download.docker.com/linux/ubuntu/dists/, wählen Sie Ihre Ubuntu-Version aus und navigieren Sie dann zu pool/stable/ , wählen Sie amd64 , armhf , oder arm64 , und laden Sie die .deb-Datei für die Docker-Engine-Version herunter, die Sie installieren möchten.

Installieren Sie Docker Engine, indem Sie den Pfad unten in den Pfad ändern, in dem Sie das Docker-Paket heruntergeladen haben.

 sudo dpkg -i /path/to/package.deb

Der Docker-Daemon startet automatisch.

Vergewissern Sie sich, dass Docker Engine korrekt installiert ist, indem Sie das hello-world-Image ausführen.

sudo docker run hello-world

Dieser Befehl lädt ein Testimage herunter und führt es in einem Container aus. Wenn der Container ausgeführt wird, gibt er eine Informationsnachricht aus und wird beendet.

5. Installieren Sie mit dem Convenience-Skript

Docker stellt unter get.docker.com ein praktisches Skript bereit, mit dem Docker schnell und nicht interaktiv in Entwicklungsumgebungen installiert werden kann.

Dieses Beispiel lädt das Skript von get.docker.com herunter und führt es aus, um die neueste stabile Version von Docker unter Linux zu installieren:

 curl -fsSL https://get.docker.com -o get-docker.sh
 sudo sh get-docker.sh

6. Installation überprüfen

Nach der Installation wird Docker als Daemon ausgeführt. Um zu überprüfen, ob Docker läuft, verwenden wir den systemctl status docker Befehl:

$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-10-08 05:35:57 UTC; 3min 50s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 146750 (dockerd)
      Tasks: 8
     Memory: 30.0M
     CGroup: /system.slice/docker.service
             └─146750 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378859538Z" level=warning msg="Your kernel does not support CPU r>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378869630Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378877385Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.379112713Z" level=info msg="Loading containers: start."
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.500736755Z" level=info msg="Default bridge (docker0) is assigned >
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.560469239Z" level=info msg="Loading containers: done."

Der Active: active (running) zeigt an, dass Docker erfolgreich gestartet wurde.

Wir können eine hello-world ausführen Bild, um zu testen, ob Docker wie erwartet funktioniert:

 sudo docker run hello-world

Dieser Befehl lädt ein Testimage herunter und führt es in einem Container aus. Wenn der Container ausgeführt wird, gibt er eine Informationsnachricht aus und wird beendet.

Ich habe diese Ausgabe erhalten, die zeigt, dass es gut funktioniert:

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:9ade9cc2e26189a19c2e8854b9c8f1e14829b51c55a630ee675a5a9540ef6ccf
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

7. Ausführen des Docker-Befehls ohne Sudo

Standardmäßig kann der Docker-Befehl nur vom Root-Benutzer oder von einem Benutzer in der Docker-Gruppe ausgeführt werden, die während des Installationsprozesses von Docker automatisch erstellt wird. Wenn Sie versuchen, den Docker-Befehl auszuführen, ohne ihm das Präfix sudo voranzustellen oder ohne Mitglied der Docker-Gruppe zu sein, erhalten Sie eine Ausgabe wie diese:

$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

Wenn Sie vermeiden möchten, jedes Mal sudo einzugeben, wenn Sie den Docker-Befehl ausführen, fügen Sie Ihren Benutzernamen zur Docker-Gruppe hinzu:

sudo usermod -aG docker ${USER}

Um die neue Gruppenmitgliedschaft zu übernehmen, melden Sie sich vom Server ab und wieder an oder geben Sie Folgendes ein:

su - ${USER}

Sie werden aufgefordert, Ihr Benutzerkennwort einzugeben, um fortzufahren.

Bestätigen Sie, dass Ihr Benutzer jetzt zur Docker-Gruppe hinzugefügt wurde, indem Sie Folgendes eingeben:

id -nG

Ich sehe dies und bestätige, dass ich jetzt zur Docker-Gruppe gehöre

$ id -nG
ubuntu docker

Jetzt kann ich docker:
I can run alpine image

$ docker run --rm -it --name alpine --entrypoint /bin/sh alpine:3
Unable to find image 'alpine:3' locally
3: Pulling from library/alpine
a0d0a0d46f8b: Pull complete
Digest: sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a
Status: Downloaded newer image for alpine:3
/ #

Wir haben Docker erfolgreich in unserem System installiert!

8. Docker deinstallieren, wenn es länger benötigt wird

Um die Docker-Engine vollständig aus dem System zu löschen, müssen wir die Docker-Engine-, CLI- und Containerd-Pakete deinstallieren:

 sudo apt-get purge docker-ce docker-ce-cli containerd.io -y

Images, Container, Volumes oder benutzerdefinierte Konfigurationsdateien auf Ihrem Host werden nicht automatisch entfernt. So löschen Sie alle Images, Container und Volumes:

 sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd

Sie müssen alle bearbeiteten Konfigurationsdateien manuell löschen.

Schlussfolgerung

In dieser Anleitung haben wir es geschafft, Docker auf unserem Ubuntu 20.04-System zu installieren.


Ubuntu
  1. So installieren und verwenden Sie Docker unter Ubuntu 20.04

  2. So installieren und verwenden Sie Wine unter Ubuntu 20.04

  3. So installieren und verwenden Sie Docker unter Ubuntu 18.04

  4. So installieren und verwenden Sie Docker Compose unter Ubuntu 18.04

  5. So installieren und verwenden Sie FFmpeg unter Ubuntu 18.04

So installieren und verwenden Sie R unter Ubuntu

So installieren und verwenden Sie vnStat unter Ubuntu 21.04

So installieren und verwenden Sie Docker Compose unter Ubuntu 20.04

So installieren und verwenden Sie Docker Compose unter Ubuntu 22.04

So installieren und verwenden Sie Docker unter Ubuntu 22.04

So installieren und verwenden Sie Docker unter Ubuntu 20.04