Reicht die neue WLS-Spring-Update-Funktion aus, um Docker unter WSL auszuführen?
Microsoft unterstützt die Ausführung des Docker-Dämons (auch als Dienst bezeichnet) innerhalb der WSL-Instanz nicht.
Wir werden häufig gefragt, ob Docker im Windows-Subsystem für Linux (WSL) ausgeführt werden soll. Wir unterstützen die Ausführung des Docker-Daemons nicht direkt in der WSL. Sie können jedoch den Daemon aufrufen, der unter Windows von der WSL ausgeführt wird. Was lässt dich das tun? Sie können Docker-Dateien erstellen, erstellen und im Daemon ausführen - Windows oder Linux, je nachdem, welche Laufzeit Sie ausgewählt haben - und das alles bequem von der WSL aus.
[Cross Post] WSL-Interoperabilität mit Docker
Der Docker-Daemon kann nicht unter WSL ausgeführt werden, da er nicht die erforderlichen Kernel-ABIs implementiert. Wenn Sie Docker für Windows ausführen, stellen Sie wahrscheinlich eine Verbindung zu der von ihm verwalteten virtuellen Hyper-V-Maschine her .
Läuft Docker innerhalb der WSL oder stellt es eine Verbindung zu Windows her?
Während der Dämon nicht in einer WSL-Instanz ausgeführt werden kann, können Sie mithilfe der Docker-CLI eine Verbindung zu einem Docker-Dienst herstellen, der in Ihrer Windows-Installation ausgeführt wird.
In den allgemeinen Einstellungen möchten Sie den Daemon ohne TLS verfügbar machen. Dieser Schritt ist erforderlich, damit der Dämon einen TCP-Endpunkt überwacht. Wenn Sie dies nicht tun, können Sie keine Verbindung über die WSL herstellen.
Wir müssen Docker noch in der WSL installieren, da wir dadurch auf die> Docker-CLI zugreifen können. Wir werden uns einfach nicht die Mühe machen, den Server zu starten.
Die folgenden Anweisungen gelten für Ubuntu. Mit dem Herbst-Update 2017 von Windows unterstützt WSL jetzt eine Vielzahl von Distributionen. Wenn Sie also etwas anderes als Ubuntu verwenden, befolgen Sie die Docker-Installationsanleitung für Ihre Distribution aus den Docker-Installationsdokumenten.
Dadurch wird der Edge-Kanal installiert. Wenn Sie möchten, ändern Sie "Edge" in "Stable". Möglicherweise möchten Sie auch die Docker Compose-Version basierend auf der neuesten Version aktualisieren .
# Environment variables you need to set so you don't have to edit the script below.
export DOCKER_CHANNEL=edge
export DOCKER_COMPOSE_VERSION=1.21.0
# Update the apt package index.
sudo apt-get update
# Install packages to allow apt to use a repository over HTTPS.
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
# Add Docker's official GPG key.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Verify the fingerprint.
sudo apt-key fingerprint 0EBFCD88
# Pick the release channel.
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
${DOCKER_CHANNEL}"
# Update the apt package index.
sudo apt-get update
# Install the latest version of Docker CE.
sudo apt-get install -y docker-ce
# Allow your user to access the Docker CLI without needing root.
sudo usermod -aG docker $USER
# Install Docker Compose.
sudo curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose &&
sudo chmod +x /usr/local/bin/docker-compose
Öffnen Sie zunächst ein WSL-Terminal, da einige Befehle ausgeführt werden müssen.
Erstellen und ändern Sie die neue WSL-Konfigurationsdatei:
sudo nano /etc/wsl.conf
# Now make it look like this and save the file when you're done:
[automount]
root = /
options = "metadata"
Wenn Sie beim nächsten Start Ihres WSL-Terminals eine Fehlermeldung erhalten, flippen Sie nicht aus. Es ist ein Fehler mit 18.03 und Sie können ihn leicht beheben. Drücken Sie STRG + Umschalt + ECS, um den Task-Manager zu öffnen, gehen Sie zur Registerkarte "Dienste", suchen Sie den Dienst "LxssManager" und starten Sie ihn neu.
Einrichten von Docker für Windows und WSL für einen einwandfreien Betrieb