"WSL UnixソケットのサポートをもたらすWindows 10 Spring Update"
以前は、ソケットエラーのため、DockerサービスをWSLに実行できませんでした。
Unix:///var/run/docker.sockでDockerデーモンに接続できません。 dockerデーモンは実行されていますか?
WSLでdockerを実行するには、新しいWLSスプリング更新機能で十分ですか?
WSLでDockerを実行するには、新しいWLSスプリング更新機能で十分ですか?
Microsoftは、WSLインスタンス内でのDockerデーモン(サービスとも呼ばれます)の実行をサポートしていません。
Linux用のWindowsサブシステム(WSL)内からdockerを実行することについてよく尋ねられます。 WSLでのdockerデーモンの直接実行はサポートされていません。しかし、できることは、WSLからWindowsで実行されているデーモンを呼び出すことです。これで何ができますか? WSLの快適さから、Dockerファイルを作成、ビルドして、デーモン(WindowsまたはLinux、選択したランタイムに応じて)で実行できます。
Dockerデーモンは、必要なカーネルABIを実装していないため、WSLの下では実行できません。 Docker for Windowsを実行している場合は、管理しているHyper-V仮想マシンに接続している可能性があります 。
DockerはWSL内で実行されていますか、それともWindowsに接続していますか?
デーモンはWSLインスタンス内では実行できませんが、Docker CLIを使用して、Windowsインストールで実行されているDockerサービスに接続できます。
一般的な設定では、TLSなしでデーモンを公開する必要があります。この手順は、デーモンがTCPエンドポイントでリッスンするために必要です。これを行わないと、WSLから接続できなくなります。
WSL内にDockerをインストールする必要があります。DockerCLIにアクセスできるためです。サーバーを起動する必要はありません。
次の手順はUbuntuに関するものですが、Windowsの2017年秋のアップデート以降、WSLはさまざまなディストリビューションをサポートするようになったため、Ubuntu以外のものを使用した場合は、DockerのインストールドキュメントからディストリビューションのDockerインストールガイドに従ってください。
これにより、エッジチャネルがインストールされ、必要に応じて「エッジ」を「安定」に変更します。 最新リリースに基づいてDocker Composeバージョンを更新することもできます
# 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
まず、いくつかのコマンドを実行する必要があるため、WSLターミナルを開きます。
新しいWSL構成ファイルを作成して変更します。
Sudo nano /etc/wsl.conf
# Now make it look like this and save the file when you're done:
[automount]
root = /
options = "metadata"
次回WSLターミナルを起動するときにエラーが発生した場合でも、おかしくなりません。これは18.03のバグであり、簡単に修正できます。 CTRL + Shift + ECSを押してタスクマネージャーを開き、[サービス]タブに移動して、[LxssManager]サービスを見つけて再起動します。