GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren und konfigurieren Sie Docker unter Debian 11

Docker ist eine Open-Source-Containerisierungsplattform. Es ermöglicht Entwicklern, Anwendungen in Container zu packen – standardisierte ausführbare Komponenten, die den Quellcode der Anwendung mit den Bibliotheken des Betriebssystems (OS) und Abhängigkeiten kombinieren, die erforderlich sind, um diesen Code in jeder Umgebung auszuführen.

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.

Prüfen Sie auch diese Links:

  • So installieren und verwenden Sie Docker in Ubuntu 20.04
  • So installieren und konfigurieren Sie Docker in Centos 8
  • So installieren und konfigurieren Sie Docker in Fedora 34/35
  • 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 aktuelles Debian 11-System
  • Internetzugang vom System aus
  • Root-Zugriff oder Benutzer mit Sudo-Zugriff
  • Kenntnisse des Linux-Terminals

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 dockerdocker.io , oder docker-engine .
Lassen Sie uns diesen Befehl verwenden, um sicherzustellen, dass diese Pakete nicht in unserem System existieren:

sudo apt-get remove 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/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gp

Verwenden Sie den folgenden Befehl, um das stabile Repository einzurichten. Um die nachts hinzuzufügen oder testen Repository, fügen Sie das Wort nightly hinzu oder test (oder beides) nach dem Wort stable in den Befehlen unten.

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
  $(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 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:
1. 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~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable amd64 Packages
 docker-ce | 5:20.10.8~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable amd64 Packages
 docker-ce | 5:20.10.7~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable amd64 Packages
 docker-ce | 5:20.10.6~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable amd64 Packages

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

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

Beispiel:

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

Sobald die Installation abgeschlossen ist, startet der Docker-Daemon automatisch.

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 Datei .deb herunterladen Datei für Ihre Version und installieren Sie sie manuell. Sie müssen jedes Mal eine neue Datei herunterladen, wenn Sie Docker aktualisieren möchten.

Gehen Sie zu https://download.docker.com/linux/debian/dists/, wählen Sie Ihre Debian-Version – (Bullseye) und navigieren Sie dann zu pool/stable/ , wählen Sie amd64armhf , 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

Sobald die Installation abgeschlossen ist, startet der Docker-Daemon automatisch.

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 ausgeführt wird, 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 Tue 2021-10-19 04:10:32 UTC; 4min 16s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 13456 (dockerd)
      Tasks: 7
     Memory: 39.0M
        CPU: 265ms
     CGroup: /system.slice/docker.service
             └─13456 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Oct 19 04:10:31 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:31.789071579Z" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Oct 19 04:10:31 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:31.789278242Z" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/container>
Oct 19 04:10:31 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:31.789447226Z" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.059851510Z" level=info msg="Loading containers: start."
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.267528805Z" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemo>
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.337295417Z" level=info msg="Loading containers: done."
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.363462993Z" level=info msg="Docker daemon" commit=79ea9d3 graphdriver(s)=overlay2 version=20.10.9
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.363783617Z" level=info msg="Daemon has completed initialization"

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

Wir können eine hello-world durchfü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:37a0b92b08d4919615c3ee023f7ddb068d12b8387475d64c622ac30f45c29c51
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:

sudo 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
admin docker

Jetzt kann ich Docker ohne sudo ausführen:
Lassen Sie uns testen, indem Sie image ausführen.

$ 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 ist es uns gelungen, Docker auf unserem Debian 11-System zu installieren.


Debian
  1. So installieren und verwenden Sie Docker unter Debian 9

  2. So installieren Sie Docker und Docker Compose unter Debian 11

  3. So installieren und konfigurieren Sie Mariadb 10 in Debian 11

  4. So installieren und konfigurieren Sie MongoDB 5 unter Debian 11

  5. So installieren und konfigurieren Sie Redis 6 unter Debian 11

So installieren Sie Docker unter Debian 11

So installieren und konfigurieren Sie RabbitMQ unter Debian 11

So installieren und konfigurieren Sie Memcached unter Debian 11

So installieren Sie Docker unter Debian 10

So installieren und konfigurieren Sie Git in Debian 11

Wie installiere und konfiguriere ich Apache unter Debian 11?