Tutorial: Erste Schritte mit Docker

In diesem Tutorial erfahren Sie mehr über das Erstellen und Bereitstellen von Docker-Apps unter Windows oder Mac mit Visual Studio Code einschließlich der Verwendung mehrerer Container mit einer Datenbank sowie über die Verwendung von Docker Compose. Außerdem stellen Sie Ihre containerisierte App in Azure bereit.

Container sind kompakte virtualisierte Umgebungen, z. B. virtuelle Computer (Virtual Machines, VMs), die eine Plattform zum Erstellen und Ausführen von Apps bereitstellen, jedoch ohne die vollständige Größe und den Mehraufwand des gesamten Betriebssystems. Docker ist ein Containeranbieter und Containerverwaltungssystem nach Industriestandard von Drittanbietern. Docker Desktop wird auf Ihrem Computer ausgeführt und verwaltet Ihre lokalen Container. Entwicklungstools wie Visual Studio und VS Code bieten Erweiterungen, mit denen Sie mit einem lokal installierten Docker Desktop-Dienst arbeiten können, um Container-Apps zu erstellen, Apps in Containern bereitzustellen und Apps zu debuggen, die in Ihren Containern ausgeführt werden.

Voraussetzungen

Starten des Tutorials

Herzlichen Glückwunsch, falls Sie den Befehl bereits zum Einstieg in das Tutorial ausgeführt haben. Falls nicht, öffnen Sie ein Eingabeaufforderungs- oder Bash-Fenster, und führen Sie den Befehl aus:

docker run -d -p 80:80 docker/getting-started

Sie werden feststellen, dass einige Flags verwendet werden. Hier finden Sie weitere Informationen dazu:

  • -d: Hiermit wird der Container im getrennten Modus ausgeführt (im Hintergrund)
  • -p 80:80: Hiermit wird Port 80 des Hosts zu Port 80 im Container zugeordnet.
  • docker/getting-started: Dies ist das zu verwendende Image.

Tipp

Sie können einzelne Zeichenflags kombinieren, um den vollständigen Befehl zu verkürzen. Der obige Befehl könnte z. B. wie folgt geschrieben werden:

docker run -dp 80:80 docker/getting-started

VS Code-Erweiterung

Bevor dies zu weit geht, soll der Fokus auf der Docker-VS Code-Erweiterung liegen, die Ihnen einen schnellen Überblick über die Container bietet, die auf Ihrem Computer ausgeführt werden. Sie ermöglicht Ihnen den schnellen Zugriff auf Containerprotokolle, das Abrufen einer Shell innerhalb des Containers und die einfache Verwaltung des Containerlebenszyklus (Anhalten, Entfernen usw.).

Befolgen Sie diese Anweisungen, um auf die Erweiterung zuzugreifen. Verwenden Sie das Docker-Symbol auf der linken Seite, um die Docker-Ansicht zu öffnen. Wenn Sie die Erweiterung jetzt öffnen, wird dieses Tutorial ausgeführt. Der Containername (angry_taussig unten) ist ein zufällig erstellter Name. Ihnen wird daher wahrscheinlich ein anderer Name angezeigt.

Ausführung des Containers in der Docker-Erweiterung im Rahmen des Tutorials

Was ist ein Container?

Nachdem Sie nun einen Container ausgeführt haben: Was genau ist ein Container? Einfach ausgedrückt handelt es sich bei einem Container um einen weiteren Prozess auf dem Computer, der von allen anderen Prozessen auf dem Hostcomputer isoliert ist. Bei dieser Isolation können Features wie Kernelnamespaces und cgroups verwendet werden, die unter Linux bereits seit langer Zeit verfügbar sind. Docker hat diese Funktionen zugänglich und benutzerfreundlich gemacht.

Hinweis

Erstellen von Containern von Grund auf: Wenn Sie wissen möchten, wie Container von Grund auf erstellt werden, können Sie sich das Video von Liz Rice von Aqua Security ansehen, in dem sie einen Container von Grund auf erstellt:

Was ist ein Containerimage?

Beim Ausführen eines Containers wird ein isoliertes Dateisystem verwendet. Dieses benutzerdefinierte Dateisystem wird von einem Containerimage bereitgestellt. Da das Image das Dateisystem des Containers umfasst, muss es alles enthalten, was zum Ausführen einer Anwendung erforderlich ist. Dazu gehören unter anderem alle Abhängigkeiten, Konfigurationen, Skripts, und Binärdateien. Das Image enthält auch weitere Konfigurationen wie Umgebungsvariablen, einen Standardbefehl für die Ausführung und andere Metadaten für den Container.

Images werden zu einem späteren Zeitpunkt genauer erläutert, und es werden unter anderem Themen wie Ebenen und bewährte Methoden abgedeckt.

Hinweis

Wenn Sie mit chroot vertraut sind, stellen Sie sich einen Container als erweiterte Version von chroot vor. Das Dateisystem stammt einfach aus dem Image. Ein Container bietet jedoch zusätzliche Isolation, die bei der einfachen Verwendung von chroot nicht verfügbar ist.

Nächste Schritte

Setzen Sie das Tutorial fort.