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

Docker unter Windows? Beginnen Sie jetzt mit dem Lernen oder …!

Wenn Container und Docker neu für Sie sind und hauptsächlich unter Windows arbeiten, werden Sie sich freuen. In diesem Artikel erfahren Sie, wie Sie Docker unter Windows 10 mit Docker Desktop für Windows oder einfach als Docker Desktop einrichten in diesem Artikel.

Docker Desktop ist die Docker-Engine und ein Verwaltungsclient, die zur einfachen Verwendung in Windows 10 zusammengepackt sind. In diesem Artikel installieren Sie Docker Desktop, stellen Ihren ersten Container bereit und teilen Daten zwischen Ihrem Host und Ihren Containern.

Voraussetzungen für Docker unter Windows

Dies ist ein exemplarischer Artikel, der verschiedene Schritte in Docker Desktop für Docker unter Windows demonstriert. Stellen Sie zunächst sicher, dass Sie einige spezifische Anforderungen erfüllt haben.

  • Eine Internetverbindung zum Herunterladen von über 800 MB an Daten
  • Windows 10 64-Bit mit Pro, Enterprise oder Education Edition mit Release 1703 oder neuer. Dies ist erforderlich, um Hyper-V unter Windows 10 auszuführen.
  • Eine CPU mit SLAT-Kompatibilität (nested paging). Alle AMD/Intel-Prozessoren seit etwa 2008 sind SLAT-kompatibel
  • Mindestens 4 GB RAM
  • BIOS-Hardware-Virtualisierung wird manchmal als Virtualisierungstechnologie bezeichnet oder VTx . Dies muss aktiviert sein und als Aktiviert angezeigt werden in der Registerkarte Leistung des Task-Managers, wie unten gezeigt.

Herunterladen und Installieren von Docker Desktop

Zunächst müssen Sie Docker Desktop herunterladen und installieren, um Docker unter Windows zum Laufen zu bringen. Docker Desktop ist in zwei Versionen erhältlich; eine stabile Version und eine Testversion.

Die stabile Version wird vierteljährlich veröffentlicht und stellt eine vollständig getestete Anwendung sicher. In diesem Artikel verwenden Sie die stabile Version.

Warnung:Bei der Installation fordert Docker Desktop Sie auf, den Hyper-V-Hypervisor zu installieren, falls er noch nicht installiert ist. Dadurch verhindert der Hyper-V-Hypervisor, dass Hypervisoren im Benutzermodus wie VirtualBox, VMWare usw. Gast-VMs ausführen. Die Hyper-V-Unterstützung für VirtualBox und VMWare ist begrenzt, kommt aber.

Sie haben auch die Möglichkeit, eine Download-Quelle auszuwählen, indem Sie Docker Desktop manuell direkt von Docker.com oder über den Windows-Paketmanager Chocolatey herunterladen. Lassen Sie uns kurz auf jede Methode eingehen.

Von Docker.com

Um Docker Desktop direkt von docker.com herunterzuladen, können Sie zur Produktseite gehen, sich für ein Konto registrieren und es von dort herunterladen. Dies wird bevorzugt, wenn Sie beabsichtigen, Docker in der Produktion zu verwenden, indem Sie ein Konto registrieren.

Wenn Sie Docker jedoch zum ersten Mal testen, können Sie es auch direkt herunterladen, was viel einfacher ist.

Führen Sie nach dem Herunterladen der EXE-Datei die ausführbare Datei aus und klicken Sie sich durch die Eingabeaufforderungen, wobei Sie alle Standardeinstellungen akzeptieren.

Auf die Frage, ob Sie planen, Windows-Container anstelle von Linux-Containern zu verwenden , wie unten gezeigt, nicht Aktivieren Sie das Kontrollkästchen. In diesem Artikel verwenden Sie Linux-Container.

Sobald die Installation abgeschlossen ist, starten Sie Ihren Computer neu.

Die Auswahl der Option zur Verwendung von Windows-Containern oder Linux-Containern weist Docker an, Images an einen Windows-Kernel oder Linux-Kernel anzuhängen. Sie können diese Einstellung jederzeit nach der Installation ändern, indem Sie mit der rechten Maustaste auf das Docker-Symbol in der Taskleiste klicken und wie unten gezeigt zu Windows-Containern wechseln auswählen.

Chocolatey verwenden

Die andere Möglichkeit, Docker Desktop herunterzuladen und zu installieren, ist Chocolatey. Chocolatey automatisiert viele der Download-/Installationsaufgaben für Sie. Öffnen Sie dazu als Administrator eine Befehlszeilenkonsole (entweder cmd oder PowerShell), um das Programm auf einmal herunterzuladen und zu installieren, indem Sie den folgenden Befehl ausführen.

choco install docker-desktop

Wenn Sie fertig sind, starten Sie Windows 10 neu.

Wenn Sie die Testversion einmal ausprobieren möchten, können Sie diese herunterladen und installieren, indem Sie choco install docker-desktop --pre ausführen .

Validieren der Docker Desktop-Installation

Nach der Installation wird Docker Desktop automatisch als Dienst ausgeführt, der Docker unter Windows bereitstellt. Es wird in der Taskleiste angezeigt, wenn Sie sich nach dem Neustart bei Windows anmelden. Aber woher wissen Sie eigentlich, dass es funktioniert?

Um zu überprüfen, ob Docker Desktop ordnungsgemäß funktioniert, öffnen Sie eine Befehlszeilenkonsole und führen Sie docker aus Befehl. Wenn die Installation gut gelaufen ist, sehen Sie eine Docker-Befehlsreferenz.

Lassen Sie Docker schließlich ein Beispiel-Container-Image namens hello-world herunterladen und ausführen indem Sie den Befehl docker run hello-world ausführen . Wenn alles in Ordnung ist, sehen Sie die Ausgabe wie unten.

Ausführen von Befehlen in Docker-Containern

Docker Desktop ist installiert und Sie haben überprüft, ob alles in Ordnung ist? Was jetzt? Um mit Docker unter Windows zu beginnen, ist eine häufige Aufgabe, die in einem Docker-Container ausgeführt werden muss, das Ausführen von Befehlen. Durch den docker run Befehl können Sie Befehle über den Host (Ihren Windows 10-PC) direkt an einen laufenden Container senden.

So führen Sie Befehle in einem Container mit docker run aus , geben Sie zunächst einen Bildnamen gefolgt von dem Befehl an. Weisen Sie Docker zunächst an, den Befehl hostname auszuführen in einem Container namens alpine wie unten zu sehen.

> docker run alpine hostname
b74ff46601af

Da Sie das alpine nicht haben Docker-Image auf Ihrem Computer, Docker unter Windows lädt das winzige Image vom Docker Hub herunter, ruft einen Container aus diesem Image auf und sendet den Befehl direkt an den Container und fährt ihn auf einen Schlag herunter.

Wenn Sie den Container am Laufen halten möchten, können Sie auch das -it verwenden Parameter. Dieser Parameter weist Docker an, den Container im „interaktiven Modus“ zu halten und ihn nach Ausführung des Befehls im Vordergrund laufen zu lassen. Sie werden sehen, dass Ihnen dann eine einsatzbereite Terminal-Eingabeaufforderung angezeigt wird.

> docker run -it alpine sh
/ #

Wenn Sie im Terminal fertig sind, geben Sie exit ein um zu Windows 10 zurückzukehren.

Zugriff auf Dateien vom Docker-Host in Containern

Eine weitere häufige Aufgabe ist der Zugriff auf Hostdateien aus Containern. Um auf Hostdateien in Containern zuzugreifen, können Sie mit Docker unter Windows einen Ordnerpfad von Ihrem Desktop aus verknüpfen, um diesen Ordner für Ihren Container freizugeben. Dieser Vorgang wird als Binding bezeichnet .

Um eine Bindung zu erstellen, erstellen Sie einen Ordner auf einem lokalen Laufwerk. Für dieses Beispiel verwende ich E:\ und nennen Sie es Eingabe. Es erstellt dann ein neues Textdokument mit dem Namen file.txt im Ordner. Fühlen Sie sich frei, den gewünschten Pfad und die gewünschte Datei zu verwenden.

Sobald Sie den Ordner haben, den Sie zwischen dem Host und dem Container freigeben möchten, muss Docker den Ordner mit --mount bereitstellen Parameter. Der --mount Parameter erfordert drei Argumente; einen Mount-Typ, einen Quell-Host-Verzeichnispfad und einen Ziel-Verzeichnispfad. Der Zielpfad ist ein symbolischer Link innerhalb des Containers.

Unten sehen Sie ein Beispiel für die Montage des gesamten E:\ innerhalb des Windows 10-Hosts, um als /home/TEST angezeigt zu werden Verzeichnis innerhalb des Linux-Containers.

> docker run --mount type=bind,source="E:/",target=/home/TEST -it alpine

Wenn Sie versuchen, einen Hostordner zu mounten, fragt Docker Desktop nach Ihrer Erlaubnis, dieses Laufwerk wie unten gezeigt für die Docker-Container freizugeben.

Wenn Sie die file.txt erstellt haben Datei im Windows 10-Ordner wie zuvor beschrieben, führen Sie cat /home/TEST/input/file.txt aus . Sie werden sehen, dass Inhalte angezeigt werden.

Löschen Sie nun die Eingabe Ordner, den Sie gerade erstellt haben, und führen Sie cat ... aus erneut befehlen. Beachten Sie, dass die Shell jetzt meldet, dass die Datei nicht mehr existiert.

Netzwerkports zuordnen

Ein weiteres wichtiges Konzept ist, wie Docker unter Windows mit Netzwerken umgeht. Lassen Sie uns für eine kurze Einführung sehen, was erforderlich ist, um vom lokalen Host aus auf einen Webdienst zuzugreifen, der in einem Container ausgeführt wird.

Erstellen Sie zunächst ein Demo-Image, auf dem eine Beispiel-Webseite ausgeführt wird. Laden Sie das Docker-Image namens dockersamples/static-site herunter und führen Sie es aus . Sie verwenden docker container run dazu.

Der folgende Befehl führt vier Aktionen gleichzeitig aus:

  • Lädt ein Docker-Image namens static-site von Docker Hub herunter in den Docker-Beispielen „Verzeichnis“
  • Startet eine Containerinstanz von der statischen Seite Bild
  • Trennt den Container sofort vom Vordergrund des Terminals (—detach )
  • Macht die Netzwerkports des ausgeführten Containers für den Windows 10-Host zugänglich (—publish-all )
docker container run --detach --publish-all dockersamples/static-site
## Alternate/shorthand syntax that does the same thing:
## docker container run -d -P dockersamples/static-site
## docker run -d -P dockersamples/static-site

Nach der Ausführung gibt Docker die Container-ID zurück, die wie unten gezeigt aufgerufen wurde.

Veröffentlichen von Netzwerkports

Seit der Verwendung von --publish-all -Parameter werden lokale Host-Ports jetzt dem Netzwerkstapel des Containers zugeordnet. Sie können das docker ps verwenden Unterbefehl, um alle laufenden Container aufzulisten, einschließlich der Ports, die allen laufenden Containern zugewiesen sind. Im Beispiel unten läuft ein Container, der Host-Port 32777 auf Container-Port 80 und Host-Port 32776 auf Container-Port 443 abbildet.

Docker unter Windows weist Containern zufällige Ports zu, wenn --publish-all verwendet wird Parameter, es sei denn, Sie definieren sie explizit.

Öffnen Sie nun einen Webbrowser und navigieren Sie zu http://localhost:32777 oder dem Port, den Docker zugewiesen hat, um Port 80 als Ausgabe von docker ps zuzuordnen . Wenn alles gut geht, sollte die folgende Webseite angezeigt werden.

Ändern der veröffentlichten Ports

Sie haben jetzt einen Docker-Container, der in Docker unter Windows ausgeführt wird und eine einfache Webseite bereitstellt. Herzliche Glückwünsche! Aber jetzt müssen Sie eine bestimmte Portbindung angeben, die sich nicht auf die zufällige Portauswahl mit --publish-all verlässt . Kein Problem. Verwenden Sie das -p Parameter.

Stoppen Sie zuerst den laufenden Container, indem Sie eine eindeutige Zeichenfolge seiner Container-ID angeben. Sie finden diese Container-ID, indem Sie docker ps ausführen . Sobald Sie die Container-ID kennen, halten Sie den Container an und starten Sie einen neuen, während Sie Docker zuweisen, einen bestimmten Port für die Veröffentlichung zuzuweisen.

Die Syntax zum Angeben eines Ports lautet <external port>:<container port> . Verwenden Sie für jeden Port, den Sie veröffentlichen möchten, --publish oder -p wechseln Sie mit den externen und Container-Portnummern wie unten gezeigt.

> docker stop f766
> docker run --detach -p 1337:80 dockersamples/static-site

Wenn Sie eine Container-ID angeben, müssen Sie nur so viel ID eingeben, dass sie eindeutig ist. Wenn Sie nur einen einzelnen Container ausführen und seine ID f766f4ac8d66bf7 ist , können Sie den Container mit einer beliebigen Anzahl von Zeichen identifizieren, einschließlich nur f . Voraussetzung ist, dass die von Ihnen eingegebene Eingabe einen einzelnen Container eindeutig identifiziert.

Gehen Sie nun zu Ihrem Webbrowser und navigieren Sie zu localhost:1337 . Denken Sie daran, dass Sie das Image nicht ändern und es immer auf Port 80 lauscht; Sie ändern die Portübersetzungsregel in der Docker-Konfiguration, mit der Sie eine Verbindung zum Container herstellen können.

Alle Container stoppen

Verwenden von docker stop , können Sie einen Container stoppen, aber wie stoppen Sie mehrere Container gleichzeitig? Eine Möglichkeit besteht darin, mehrere durch Leerzeichen getrennte Container-IDs bereitzustellen. Unten sehen Sie ein Beispiel dafür, wie drei Container mit den IDs fd50b0a446e7 gestoppt werden , 36ee57c3b7da und 7c45664906ff.

> docker stop fd50 36ee 7c45

Wenn Sie Docker-Container in PowerShell verwalten, können Sie auch eine Verknüpfung verwenden, um alle Container zu stoppen. Geben Sie eine Liste mit Container-IDs über docker ps -q ein zum Parameter stop durch die Befehlserweiterung von PowerShell docker stop (docker ps -q) .

Bestätigen Sie, dass alle Container gestoppt wurden, indem Sie keine Container aufgelistet sehen, wenn Sie docker ps eingeben .

Aufräumen

Sie haben einige Container-Images heruntergeladen und einige Container ausgeführt, die jetzt angehalten wurden. Auch wenn sie gestoppt sind, wird ihr zugewiesener Speicher nicht von der lokalen Hostfestplatte entfernt. Sie müssen die Container löschen, um diesen Speicherplatz freizugeben und Ihren Arbeitsbereich nicht zu überladen.

Um einen einzelnen Container zu löschen, verwenden Sie den Container remove rm Parameter wie unten.

> docker container rm <container ID>

Oder verwenden Sie prune, um alle angehaltenen Container zu löschen Parameter wie unten.

> docker container prune

Docker
  1. Beginnen Sie mit NetworkManager unter Linux

  2. Wie fange ich mit Juju an?

  3. Erstellen Ihres ersten Docker-Windows-Server-Containers

  4. Beginnen Sie mit Cloud-Servern

  5. Perl lernen, aber wie bekomme ich 5.14 unter Windows?

Podman-Tutorial – Erste Schritte mit Podman

Erste Schritte mit Docker Compose unter Linux

Lxc und wie fange ich an?

Tutorial „Erste Schritte mit Azure Docker“.

So erhalten Sie die IP-Adresse des Docker-Containers

Gewusst wie:Erste Schritte mit Windows-Containern und Docker