Docker: Einen Container ausführen

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab tauchen Sie in ein Szenario aus der viktorianischen Ära ein, in dem Sie die Rolle eines Antikitätenhändlers übernehmen. Ihr Ziel ist es, historische Artefakte effektiv zu transportieren und zu präsentieren, indem Sie moderne Technologie nutzen – genauer gesagt, Docker-Container (Docker-Container) verwenden, um Ihre Vorgänge zu rationalisieren.

Stellen Sie sich vor, Sie sind ein angesehener Antikitätenhändler in London in den 1880er Jahren, bekannt für Ihre außergewöhnliche Sammlung von Artefakten aus der ganzen Welt. Anstelle von traditionellen Kisten und Vitrinen haben Sie jedoch eine revolutionäre Technologie namens "Docker-Container" entdeckt, die es Ihnen ermöglicht, Ihre kostbaren Gegenstände mit beispielloser Effizienz und Sicherheit zu verpacken, zu transportieren und auszustellen.

Am Ende dieses Labs werden Sie die Grundlagen von Docker-Containern verstehen und wissen, wie Sie sie verwenden können, um Anwendungen auszuführen. In unserem viktorianischen Szenario entspricht dies Ihrer Fähigkeit, Ihre wertvolle Antikitäten-Sammlung zu verwalten und auszustellen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") subgraph Lab Skills docker/run -.-> lab-271495{{"Docker: Einen Container ausführen"}} end

Einrichten Ihrer Docker-Umgebung

In diesem Schritt stellen Sie zunächst sicher, dass Ihre Docker-Umgebung richtig eingerichtet ist, um Container auszuführen. Stellen Sie sich dies wie das Vorbereiten Ihres Antikitäten-Werkzeugs mit den erforderlichen Werkzeugen und Ausrüstungen vor.

  1. Installieren Sie Docker, indem Sie die folgenden Befehle in Ihrem Terminal ausführen:

    sudo apt update
    sudo apt install docker.io

    Dieser erste Befehl aktualisiert Ihre Paketlisten, um sicherzustellen, dass Sie die neueste Version von Docker erhalten, während der zweite Befehl Docker selbst installiert. Das Präfix sudo gewährt die für die Installation erforderlichen Administratorrechte.

  2. Sobald Docker installiert ist, starten Sie den Docker-Dienst:

    sudo systemctl start docker

    Dieser Befehl aktiviert den Docker-Dienst, ähnlich wie das Öffnen Ihres Werkzeugs für den Betrieb. Der Docker-Daemon läuft jetzt im Hintergrund und ist bereit, Ihre Container-Anfragen zu verarbeiten.

  3. Überprüfen Sie, ob Docker erfolgreich läuft:

    sudo systemctl status docker

    Dieser Befehl prüft, ob Docker aktiv und richtig läuft. Sie sollten eine Ausgabe mit "active (running)" in grünem Text sehen, was bestätigt, dass Ihre Docker-Umgebung bereit ist. Wenn Sie "inactive" oder Fehlermeldungen sehen, müssen Sie möglicherweise versuchen, den Dienst erneut zu starten.

  4. Um sicherzustellen, dass Sie Docker-Befehle ausführen können, ohne jedes Mal sudo zu verwenden, fügen Sie Ihren Benutzer zur Docker-Gruppe hinzu:

    sudo usermod -aG docker $USER

    Hinweis: Nach dem Ausführen dieses Befehls müssen Sie möglicherweise abmelden und erneut anmelden, damit die Änderungen wirksam werden. Für dieses Lab werden wir weiterhin sudo bei unseren Docker-Befehlen verwenden, um die Kompatibilität sicherzustellen.

Ausführen eines Hello-World-Containers

Jetzt, da Ihre Umgebung eingerichtet ist, werden Sie Ihren ersten Docker-Container ausführen – ein einfaches "hello-world"-Beispiel. Stellen Sie sich dies wie das Ausstellen Ihres ersten Artefakts vor, um sicherzustellen, dass Ihre neue Container-Technologie wie erwartet funktioniert.

  1. Laden Sie das "hello-world"-Image von Docker Hub herunter:

    sudo docker pull hello-world

    Dieser Befehl lädt das hello-world-Image von Docker Hub (einem öffentlichen Repository für Docker-Images) herunter. Stellen Sie sich dies wie das Erwerben Ihres ersten Artefakts aus einer fernen Gegend vor. Docker Hub dient als Marktplatz, auf dem Sie vorkonfigurierte Container für verschiedene Zwecke finden können.

  2. Führen Sie den "hello-world"-Container aus:

    sudo docker run hello-world

    Dieser Befehl erstellt und startet einen Container aus dem hello-world-Image. Der Container führt ein einfaches Programm aus, das eine Nachricht ausgibt und dann beendet wird. In unserem viktorianischen Szenario entspricht dies dem kurzen Ausstellen Ihres ersten Artefakts, um zu überprüfen, ob Ihr neues Container-System richtig funktioniert.

  3. Überprüfen Sie die Ausgabe, um sicherzustellen, dass der Container erfolgreich ausgeführt wurde. Sie sollten eine Nachricht sehen, die mit "Hello from Docker!" beginnt, gefolgt von einigen Erklärungen. Dies bestätigt, dass:

    • Docker korrekt installiert ist
    • Ihr System erfolgreich Container erstellen kann
    • Sie Images von Docker Hub herunterladen können
  4. Um eine Liste aller Container (einschließlich der beendeten) anzuzeigen:

    sudo docker ps -a

    Dieser Befehl zeigt alle Container an, einschließlich des jetzt beendeten hello-world-Containers. Sie werden Details wie die Container-ID, aus welchem Image er erstellt wurde, wann er erstellt wurde und seinen aktuellen Status sehen.

Deployment eines Nginx-Webservers

In diesem Schritt werden Sie einen Nginx-Webserver mithilfe eines Docker-Containers deployen. In unserem viktorianischen Szenario entspricht dies dem Aufstellen eines eleganten Vitrinschrankes (Nginx), um Ihre wertvollsten Antikitäten (Webinhalt) für Besucher auszustellen.

  1. Laden Sie das Nginx-Image von Docker Hub herunter:

    sudo docker pull nginx

    Dieser Befehl lädt das offizielle Nginx-Image von Docker Hub herunter. Nginx ist ein beliebter Webserver, der HTML-Inhalte ausliefern kann. Dies entspricht dem Erwerb eines feinen Vitrinschranks für Ihre Antikitäten-Sammlung.

  2. Führen Sie einen Nginx-Container im detached-Modus aus und leiten Sie Port 80 auf dem Host auf Port 80 im Container weiter:

    sudo docker run -d -p 80:80 nginx

    Lassen Sie uns diesen Befehl zerlegen:

    • run: Erstellt und startet einen neuen Container
    • -d: Führt den Container im detached-Modus (im Hintergrund) aus
    • -p 80:80: Leitet Port 80 auf Ihrem Host-Rechner auf Port 80 im Container weiter, sodass Web-Traffic den Nginx-Server erreichen kann
    • nginx: Gibt das zu verwendende Image an

    Dies ist wie das Aufstellen Ihres Vitrinschranks in Ihrer Ausstellungshalle und das Gewährleisten, dass Besucher Ihre Antikitäten sehen können.

  3. Überprüfen Sie, ob Ihr Nginx-Container läuft:

    sudo docker ps

    Dieser Befehl zeigt alle laufenden Container an. Sie sollten Ihren Nginx-Container in der Liste sehen, was darauf hinweist, dass er aktiv läuft.

  4. Fügen Sie eine Web-Service-Zuordnung über das obere Menü des Labs hinzu und legen Sie die Port-Zuordnung auf 80 fest. Wenn der Nginx-Webserver erfolgreich läuft, wird die Lab-Umgebung automatisch zu einer zufälligen URL im Server-Lab navigieren, und Sie sollten die Standard-Willkommensseite von Nginx sehen.

  5. Optional: Wenn Sie den Nginx-Server manuell über Ihren Browser zugreifen möchten, können Sie zu http://localhost oder zur IP-Adresse Ihres Rechners navigieren.

  6. Wenn Sie auf Probleme stoßen, können Sie die Container-Logs überprüfen:

    sudo docker logs <container_id>

    Ersetzen Sie <container_id> durch die ID Ihres Nginx-Containers, die Sie aus der Ausgabe des docker ps-Befehls erhalten können.

Zusammenfassung

In diesem Lab wurden Sie mit den grundlegenden Konzepten zum Ausführen von Docker-Containern vertraut gemacht. Indem Sie sich in einen historischen Kontext hineinversetzt und als Antikitätenhändler in der viktorianischen Ära agiert haben, haben Sie praktische Erfahrungen in der Nutzung der Ausführungsfunktionen von Docker gesammelt.

Sie haben gelernt, wie Sie:

  • Eine Docker-Umgebung einrichten
  • Images von Docker Hub herunterladen
  • Container sowohl im Vordergrund als auch im detached-Modus ausführen
  • Container-Ports auf dem Host-Rechner freigeben
  • Den Status von Containern überprüfen

Diese Fähigkeiten bilden die Grundlage der Container-Technologie und können auf eine Vielzahl von Anwendungen außerhalb unseres Antikitätenhändler-Szenarios angewendet werden. In modernen Umgebungen werden dieselben Techniken verwendet, um Anwendungen von einfachen Webservern bis hin zu komplexen Microservices-Architekturen zu deployen.

Die Fähigkeit, Anwendungen mit ihren Abhängigkeiten in portable Container zu packen, revolutioniert die Art und Weise, wie wir Software deployen und verwalten, ähnlich wie standardisierte Frachtcontainer den Welthandel verändert haben. Wie unser viktorianischer Antikitätenhändler vielleicht sagen würde: "Diese wunderbaren Docker-Container werden die Art und Weise revolutionieren, wie wir unsere Schätze der Welt präsentieren!"