GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

Installieren und Verwenden von Docker unter Ubuntu und Debian

Docker ist ein Tool, mit dem Sie schlanke, eigenständige Pakete namens Container erstellen, bereitstellen und verwalten können . Diese Container verfügen über den erforderlichen Code, die Bibliotheken, die Laufzeit, die Systemeinstellungen und die Abhängigkeiten, die zum Ausführen einer Anwendung erforderlich sind.

Diese Anleitung behandelt die Installation der Docker-Engine auf verschiedenen Linux-Distributionen mithilfe von apt Paketmanager, einschließlich Ubuntu und Debian, sowie das Erhalten und Ausführen von Docker-Images.

Bevor Sie beginnen

  1. Stellen Sie sicher, dass Sie über die Befehlszeile Zugriff auf einen Linux-Server haben, auf dem eine unterstützte Linux-Distribution ausgeführt wird. Wenn nicht, befolgen Sie die Anleitungen „Erste Schritte“ und „Einrichten und Sichern einer Compute-Instanz“, um einen neuen Linode zu erstellen.

    Hinweis Dieses Handbuch wurde für Nicht-Root-Benutzer geschrieben. Befehlen, die erhöhte Berechtigungen erfordern, wird das Präfix sudo vorangestellt . Wenn Sie mit sudo nicht vertraut sind Befehl finden Sie im Handbuch Benutzer und Gruppen.
  2. Sehen Sie sich die folgenden Docker-Leitfäden an, um ein besseres Verständnis von Docker, seinen Vorteilen und seiner Verwendung zu erlangen.

    • Eine Einführung in Docker
    • Wann und warum Docker verwendet werden sollte

Installieren der Docker-Engine auf Ubuntu und Debian

Docker Engine ist die zugrunde liegende Containerisierungssoftware, die beim Bereitstellen von Docker-Containern verwendet wird. Die folgenden Anweisungen installieren Docker Engine auf einer dieser unterstützten Ubuntu- und Debian-Versionen:

Unterstützte Distributionen: Ubuntu 20.04, Ubuntu 18.04, Ubuntu 16.04, Debian 10, Debian 9. Neuere Nicht-LTS-Releases wie Ubuntu 21.04, 20.10 und 21.10 sollten ebenfalls unterstützt werden.

  1. Stellen Sie sicher, dass Docker derzeit nicht installiert ist. Die Ausgabe, die anzeigt, dass eines der Pakete nicht gefunden wurde, kann problemlos ignoriert werden.

    sudo apt remove docker docker-engine docker.io
    
  2. Installieren Sie die Pakete, die zum Konfigurieren des Docker-Repositorys erforderlich sind:

    sudo apt update
    sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
    
  3. Fügen Sie den GPG-Schlüssel von Docker hinzu. Ersetzen Sie im folgenden Befehl [url] mit der URL, die der Distribution entspricht, die Ihr System ausführt.

    curl -fsSL [url]/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    • Ubuntu: https://download.docker.com/linux/ubuntu
    • Debian: https://download.docker.com/linux/debian
  4. Fügen Sie den Stall hinzu Docker-Repository, das wiederum [url] ersetzt mit der URL, die der Distribution entspricht, die Ihr System ausführt.

    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] [url] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  5. Installieren Sie Docker Engine und andere erforderliche Pakete:

    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io
    

Weitere Installationsanweisungen für diese Distributionen finden Sie in der Docker-Dokumentation:

  • Installieren Sie die Docker-Engine unter Ubuntu
  • Installieren Sie die Docker-Engine unter Debian

Starten und Testen von Docker

Nachdem Docker Engine installiert ist, starten Sie Docker und überprüfen Sie, ob alles funktioniert, indem Sie ein Test-Image ausführen.

  1. Stellen Sie sicher, dass der Docker-Server ausgeführt wird.

    sudo systemctl start docker
    
  2. Konfigurieren Sie Docker optional so, dass es beim Hochfahren des Servers gestartet wird. Dies wird empfohlen, wenn Sie beabsichtigen, eine Produktionsanwendung innerhalb dieser Docker-Installation auszuführen.

    sudo systemctl enable docker
    sudo systemctl enable containerd
    
  3. Vergewissern Sie sich, dass Docker korrekt installiert ist, indem Sie das „hello-world“-Image ausführen.

    sudo docker run hello-world
    

    Bei Erfolg sollte Docker das hello-world-Image herunterladen und ausführen und eine Erfolgsmeldung ausgeben. Neben anderem Text sollte die Ausgabe eine Nachricht ähnlich der folgenden enthalten:

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

Verwendung von Docker mit einem Nicht-Root-Benutzer

Standardmäßig sudo ist erforderlich, um Docker-Befehle auszuführen, aber eine neue Gruppe namens docker , wurde während der Installation erstellt. Wenn der Docker-Daemon startet, öffnet er einen Unix-Socket für Docker Gruppenmitglieder.

Bevor Sie fortfahren, vergewissern Sie sich, dass Sie über ein eingeschränktes Benutzerkonto verfügen, das nicht vorhanden ist gehören zur sudo-Gruppe. Wenn Sie noch kein eingeschränktes Benutzerkonto erstellt haben, finden Sie Anweisungen in den Leitfäden Einrichten und Sichern einer Compute-Instanz oder Linux-Benutzer und -Gruppen.

  1. Geben Sie den folgenden Befehl ein, um einen Benutzer zum Docker hinzuzufügen Gruppe, ersetzt [Benutzer] mit dem Namen Ihres eingeschränkten Benutzerkontos.

    sudo usermod -aG docker [user]
    
  2. Melden Sie sich als eingeschränkter Benutzer beim System an.

  3. Stellen Sie sicher, dass der eingeschränkte Benutzer docker ausführen kann Befehle ohne sudo indem Sie das Bild „hello-world“ erneut ausführen.

    docker run hello-world
    

    Die Ausgabe sollte eine ähnliche Erfolgsmeldung wie die vorherige Ausgabe haben.

Achtung Der Docker Die Gruppe gewährt ähnliche Rechte wie der Root-Benutzer. Weitere Informationen dazu, wie sich dies auf die Systemsicherheit auswirken kann, finden Sie im Handbuch Docker Daemon Attack Surface in der Docker-Dokumentation. Um den Docker-Daemon ohne Root-Rechte auszuführen, befolgen Sie die Anweisungen unter Docker-Daemon als Nicht-Root-Benutzer ausführen (Rootless-Modus).

Beheben von Fehlern beim Laden von Konfigurationsdateien

Wenn der Benutzer sudo docker ausgeführt hat Befehle, bevor sie der Gruppe beitreten, wird ihnen möglicherweise ein Fehler beim Laden der Konfigurationsdatei wie folgt angezeigt:

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

Das Problem ist, dass das .docker-Verzeichnis in ihrem Home-Verzeichnis (~/.docker) mit Berechtigungen erstellt wurde, die von sudo gewährt wurden .

Es gibt zwei mögliche Lösungen:

  1. Entfernen Sie die .docker Verzeichnis aus ihrem Home-Verzeichnis. Docker erstellt es automatisch neu, aber alle benutzerdefinierten Einstellungen gehen verloren.

  2. Ändern Sie die Berechtigungen für .docker Verzeichnis mit den Befehlen:

    sudo chown example_user:example_user /home/example_user/.docker -R
    sudo chmod g+rwx "/home/example_user/.docker" -R
    

Verwenden von Docker-Images zum Bereitstellen von Containern

Docker-Images sind Vorlagen, die die Anweisungen und Spezifikationen zum Erstellen eines Containers enthalten. Um Docker verwenden zu können, müssen Sie zunächst ein Image abrufen oder Ihr eigenes erstellen, indem Sie eine Docker-Datei erstellen. Weitere Informationen finden Sie unter Eine Einführung in Docker.

Bilder auflisten

Führen Sie den folgenden Befehl aus, um alle Images auf Ihrem System aufzulisten. Dies sollte hello-world ausgeben Bild, das in einem vorherigen Schritt verwendet wurde, sowie alle zusätzlichen Bilder, die Sie möglicherweise bereits erhalten haben.

docker images

Ein Bild finden

Bilder werden in Docker-Registrierungen wie Docker Hub (der offiziellen Registrierung von Docker) gespeichert. Sie können auf dieser Website nach Bildern suchen oder den folgenden Befehl verwenden, um die Docker-Registrierung zu durchsuchen. Ersetzen Sie im folgenden Befehl [keyword] mit den Schlüsselwörtern, nach denen Sie suchen möchten, z. B. nginx oder apache .

docker search [keyword]

Ein Bild erhalten

Sobald Sie ein Bild gefunden haben, laden Sie es auf Ihren Server herunter. Ersetzen Sie im folgenden Befehl [image] mit dem Namen des Bildes, das Sie verwenden möchten.

docker pull [image]

Um beispielsweise das offizielle Nginx-Image herunterzuladen, führen Sie Folgendes aus:docker pull nginx .

Ein Image ausführen

Erstellen Sie als Nächstes einen Container basierend auf dem Image, indem Sie docker run verwenden Befehl. Ersetzen Sie erneut [image] mit dem Namen des Bildes, das Sie verwenden möchten.

docker run [image]

Wenn das Image noch nicht heruntergeladen wurde und in der Docker-Registrierung verfügbar ist, wird das Image automatisch auf Ihren Server heruntergeladen.

Verwalten von Docker-Containern

Container auflisten

Führen Sie den folgenden Befehl aus, um alle aktiven (und inaktiven) Docker-Container aufzulisten, die auf Ihrem System ausgeführt werden:

docker ps -a

Die Ausgabe sollte wie folgt aussehen. Diese Beispielausgabe zeigt hello-world Behälter.

CONTAINER ID   IMAGE         COMMAND    CREATED       STATUS                   PORTS     NAMES
5039168328a5   hello-world   "/hello"   2 hours ago   Exited (0) 2 hours ago             magical_varahamihira

Starten eines Containers

Starten Sie einen Docker-Container mit dem folgenden Befehl und ersetzen Sie dabei [ID] mit der Container-ID, die dem Container entspricht, den Sie starten möchten:

docker start [ID]

Stoppen eines Containers

Stoppen Sie einen Docker-Container mit dem folgenden Befehl und ersetzen Sie dabei [ID] mit der Container-ID, die dem Container entspricht, den Sie stoppen möchten:

docker stop [ID]

Einige Bilder (wie die hello-world image) stoppen automatisch, nachdem sie ausgeführt wurden. Viele andere Container werden jedoch weiter ausgeführt, bis sie ausdrücklich zum Stoppen aufgefordert werden, und Sie möchten diese Container möglicherweise im Hintergrund ausführen. Für diese Fälle kann dieser Befehl nützlich sein.

Entfernen eines Containers

Entfernen Sie einen Docker-Container mit dem folgenden Befehl und ersetzen Sie dabei [ID] mit der Container-ID, die dem Container entspricht, den Sie entfernen möchten:

docker rm [ID]

Weitere Informationen

Weitere Informationen zu diesem Thema finden Sie in den folgenden Ressourcen. Obwohl diese in der Hoffnung bereitgestellt werden, dass sie nützlich sind, beachten Sie bitte, dass wir nicht für die Genauigkeit oder Aktualität extern gehosteter Materialien garantieren können.

  • Website für Docker
  • Dokumentation für Docker
  • Website für containerd

Docker
  1. So installieren Sie Docker unter Debian / Ubuntu

  2. Installieren und Verwenden von Docker unter CentOS und Fedora

  3. So führen Sie eine Rootless Docker-Installation durch (unter Ubuntu und Debian)

  4. Docker installieren (Ubuntu)

  5. Installieren Sie Docker und WordPress auf Ubuntu

So installieren Sie Gitea auf Ubuntu mit Docker

So installieren und verwenden Sie Docker unter Ubuntu 22.04

Richtiges Installieren von Docker unter Ubuntu [Anfängerhandbuch]

So installieren und verwenden Sie Docker unter Ubuntu 20.04

So erstellen Sie einen Sudo-Benutzer unter Ubuntu und Debian

So verwenden Sie apt-get reinstall unter Debian und Ubuntu