UmgebungsbeschreibungUmgebung: Win10 Enterprise Edition + Ubuntu 18.04 LTS [WSL] Installieren Sie Docker für Windows unter Windows 10Jetzt verfügt Docker über ein spezielles Installationspaket für das Win10 Professional-System, für das Hyper-V aktiviert sein muss. Aktivieren von Hyper-V Programme und Funktionen Aktivieren oder Deaktivieren von Windows-Funktionen Wählen Sie Hyper-V Installieren Sie Docker für WindowsNeueste Version von Docker für Windows Download-Adresse: https://docs.docker.com/v17.09/docker-for-windows/install/ Klicken Sie auf „Docker für Windows [stabil] abrufen“ und laden Sie die Windows-Version herunter: Nach Abschluss der Installation wird Docker automatisch gestartet. Ein kleines Walsymbol erscheint in der Benachrichtigungsleiste Außerdem werden in der Tabelle drei Symbole angezeigt, wie unten dargestellt: Wir können Wenn es nicht gestartet ist, können Sie in Windows nach Docker suchen, um es zu starten: Nach dem Start ist in der Benachrichtigungsleiste außerdem das kleine Wal-Symbol zu sehen: Subsysteminstallation Docker-InstallationKein Problem leenhem@DESKTOP-7SREO20:~$ sudo apt-get install docker.io Paketlisten werden gelesen... Fertig Abhängigkeitsbaum erstellen Statusinformationen werden gelesen... Fertig docker.io ist bereits die neuste Version (18.09.7-0ubuntu1~18.04.4). 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 111 nicht aktualisiert. Es gibt ein Problem bei der Nutzung [kann nicht normal verwendet werden] Erklärung auf der offiziellen Website leenhem@DESKTOP-7SREO20:~$ docker ps Verbindung zum Docker-Daemon unter unix:///var/run/docker.sock nicht möglich. Läuft der Docker-Daemon? leenhem@DESKTOP-7SREO20:~$ sudo /etc/init.d/docker status * Docker läuft nicht leenhem@DESKTOP-7SREO20:~$ sudo /etc/init.d/docker start * Docker starten: docker [ OK ] leenhem@DESKTOP-7SREO20:~$ leenhem@DESKTOP-7SREO20:~$ sudo /etc/init.d/docker status * Docker läuft leenhem@DESKTOP-7SREO20:~$ sudo /etc/init.d/docker status * Docker läuft nicht Sie werden feststellen, dass Docker überhaupt nicht gestartet werden kann. Was soll ich jetzt tun? Überprüfen Sie unbedingt zuerst das Protokoll (/var/log/docker.log). leenhem@DESKTOP-7SREO20:~$ tail /var/log/docker.log -n 100 time="2019-10-22T11:58:25.436968100+08:00" level=info msg="ccResolverWrapper: sende neue Adressen an cc: [{unix:///var/run/docker/containerd/containerd.sock 0 <nil>}]" module=grpc time="2019-10-22T11:58:25.437359900+08:00" level=info msg="ClientConn wechselt Balancer zu \"pick_first\"" module=grpc Zeit = "2019-10-22T11:58:25.437703900+08:00" Ebene = Info msg = "pickfirstBalancer: HandleSubConnStateChange: 0xc420769030, VERBINDEN" Modul = grpc Zeit = "2019-10-22T11:58:25.438698400+08:00" Ebene = Info msg = "pickfirstBalancer: HandleSubConnStateChange: 0xc420769030, BEREIT" Modul = grpc time="2019-10-22T11:58:25.559058900+08:00" level=info msg="[graphdriver] verwendet vorherigen Speichertreiber: overlay2" time="2019-10-22T11:58:25.719182400+08:00" level=info msg="Die Migration des Graphen zur Inhaltsadressierbarkeit dauerte 0,00 Sekunden" time="2019-10-22T11:58:25.719593400+08:00" level=warning msg="Ihr Kernel unterstützt das Cgroup-Speicherlimit nicht" time="2019-10-22T11:58:25.719660300+08:00" level=warning msg="CPU-Cgroup in Mounts nicht gefunden" time="2019-10-22T11:58:25.719697200+08:00" level=warning msg="Kann blkio cgroup in Mounts nicht finden" time="2019-10-22T11:58:25.719732900+08:00" level=warning msg="Cpuset-Cgroup konnte in Mounts nicht gefunden werden" time="2019-10-22T11:58:25.719888000+08:00" level=warning msg="Einhängepunkt für PIDs nicht gefunden" time="2019-10-22T11:58:25.721991900+08:00" level=info msg="Integritätsprüfung nach ordnungsgemäßem Herunterfahren wird gestoppt" module=libcontainerd time="2019-10-22T11:58:25.722045300+08:00" level=info msg="Ereignisstrom nach ordnungsgemäßem Herunterfahren wird gestoppt" error="Kontext abgebrochen" module=libcontainerd namespace=plugins.moby Zeit = "2019-10-22T11:58:25.723869300+08:00" Ebene = Info msg = "pickfirstBalancer: HandleSubConnStateChange: 0xc420769030, TRANSIENT_FAILURE" Modul = grpc Zeit = "2019-10-22T11:58:25.724042800+08:00" Ebene = Info msg = "pickfirstBalancer: HandleSubConnStateChange: 0xc420769030, VERBINDUNG" Modul = grpc Fehler beim Starten des Daemons: Geräte-Cgroup ist nicht gemountet Vorläufiges Fazit: Der WIN10-Kernel kann die cgroup- und aufs-Komponenten von Linux nicht vollständig simulieren Erklärung der offiziellen Website [Lösung] [Cross Post] WSL-Interoperabilität mit Docker https://nickjanetakis.com/blog/docker-für-windows-und-wsl-so-einrichten, dass es einwandfrei funktioniert apt installiere Screenfetch Bildschirmabruf Skript: https://files.cnblogs.com/files/rgqancy/WSL.js, herunterladen und als txt speichern Einrichten eines Relays Nachdem Go installiert ist, können wir Relay erstellen. Ersetzen Sie in den folgenden Befehlen unbedingt Ihren Windows-Benutzernamen: Gehen Sie zu get -d github.com/jstarks/npiperelay GOOS=windows go build -o /mnt/c/Benutzer/Administrator/go/bin/npiperelay.exe github.com/jstarks/npiperelay Wir haben das Relay jetzt für Windows erstellt, möchten aber, dass es innerhalb von WSL aufrufbar ist. Dazu erstellen wir einen symbolischen Link. Ersetzen Sie unbedingt: durch Ihren Windows-Benutzernamen: sudo ln -s /mnt/c/Benutzer/Administrator/go/bin/npiperelay.exe /usr/local/bin/npiperelay.exe Wir werden Socat verwenden, um die Weiterleitung zu ermöglichen. Installieren Sie socat, ein Tool, das den Datenfluss in beide Richtungen zwischen zwei Punkten ermöglicht (mehr dazu später). Schnapp dir dieses Paket: sudo apt installiere socat Letzter Schritt Nachdem Socat installiert und die ausführbare Datei erstellt wurde, müssen wir nur noch ein paar Dinge zusammenfügen. Wir werden ein Shell-Skript erstellen, um unsere Funktionalität zu aktivieren. Wir werden dies im Home-Verzeichnis unseres Benutzers platzieren. Gehen Sie hierzu wie folgt vor: #erstelle die Datei berühren Sie ~/docker-relay #Ausführungsberechtigungen hinzufügen chmod +x ~/docker-relay Öffnen Sie die von uns erstellte Datei mit Ihrem bevorzugten Texteditor (z. B. vim). Fügen Sie dies in die Datei Docker-Relay ein: #!/bin/sh exec socat UNIX-LISTEN:/var/run/docker.sock,fork,group=docker,umask=007 EXEC:"npiperelay.exe -ep -s //./pipe/docker_engine",nofork Speichern Sie die Datei und schließen Sie sie. Das Docker-Relay-Skript konfiguriert die Docker-Pipeline, um der Docker-Gruppe den Zugriff zu ermöglichen. Um als normaler Benutzer zu laufen (ohne „sudo“ an jeden Docker-Befehl anhängen zu müssen), fügen Sie Ihren WSL-Benutzer zur Docker-Gruppe hinzu. Unter Ubuntu: sudo adduser <Ihr WSL-Benutzer> docker Lass es uns testen! Öffnen Sie eine neue WSL-Shell, um sicherzustellen, dass Ihre Gruppenmitgliedschaft zurückgesetzt wird. Starten Sie das Relay im Hintergrund: sudo ~/docker-relay & Führen Sie jetzt den Docker-Befehl aus, um das Ganze zu testen. Sie sollten dieselbe Ausgabe erhalten, als hätten Sie den Befehl unter Windows ausgeführt (beachten Sie, dass Sie dem Befehl nicht das Präfix „sudo“ voranstellen müssen!). Beachten So starten Sie Docker für Windows im Voraus SchemaEs gibt ein grundlegendes Problem dabei, den unter WSL laufenden Docker-Client dazu zu bringen, mit Docker für Windows zu kommunizieren: Der WSL-Client versteht IPC über Unix-Sockets, während Docker für Windows IPC über benannte Pipes versteht. Hier kommen socat und npiperelay.exe ins Spiel – sie fungieren als Vermittler zwischen diesen beiden disjunkten IPC-Formen. Socat versteht die Kommunikation über Unix-Sockets, npiperelay versteht die Kommunikation über benannte Pipes. Sowohl socat als auch npiperelay können über stdio kommunizieren und daher miteinander kommunizieren. Zusammenfassen Oben finden Sie das vom Herausgeber vorgestellte Tutorial zur Installation von Docker im Win10-Subsystem Ubuntu (WSL). Ich hoffe, es ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Miniprogramm zur Implementierung einer kreisförmigen Text-Scrolling-Animation
>>: Das WeChat-Applet realisiert die Chatroom-Funktion
Vorwort: In MySQL sollte die Master-Slave-Archite...
Inhaltsverzeichnis 1. Laden Sie die MySQL-MSI-Ver...
Rand: automatisch; + Position: absolut; oben, unt...
Einführung Die aktuellen Anforderungen des Untern...
In der Mathematik, Physik und einigen wissenschaf...
Inhaltsverzeichnis 1. Verwenden Sie die UUID-Funk...
Anwendungsschachtelung ungeordneter Listen Code ko...
1. Einleitung Die bisherige Programmarchitektur k...
<br />Verwandte Artikel: 9 praktische Vorsch...
Inhaltsverzeichnis 1. Aufgetretene Probleme 2. An...
Inhaltsverzeichnis 1. Installieren Sie das Vue-Ge...
Mit dem Aufkommen von Docker haben sich viele Die...
Einführung in den Lastenausgleich Bevor wir die L...
Ich habe vor Kurzem die 34 goldenen Regeln von Yah...
Inhaltsverzeichnis Nachrichtenbrett Erforderliche...