概要
Windows Subsystem for Linux (WSL)上でdockerホストを動かしても、NTFSファイルシステムにアクセスできません。そこで、WSLからdockerコマンドを実行したいが、dockerホストとしてはWindows上で動作しているDocker for Windowsに接続したい、というような場合の設定方法を記します。
こちらのサイトを参考にしています。
環境は以下の通りです。
- Windows 10 Pro
- Ubuntu 18.04 (Microsoft Storeより)
Docker for Windowsのインストール
-
Docker Desktop (Windows)をインストールする
-
[Settings]-[General]で、'Expose daemon on tcp://localhost:2375 without TLS'をチェックする。
-
[Settings]-[Shared Drives]で、dockerホストからアクセスしたいドライブを共有する。
WSLへのdockerのインストール
Ubuntuを管理者(rootでは無く、Windowsの管理者)として実行し、以下の通りdockerをインストールする。
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install docker.io
$ sudo usermod -aG docker $USER
WSLの設定
WSLから、Docker for Windowsに接続するための設定をする。
$ echo "export DOCKER_HOST=tcp://0.0.0.0:2375" >> ~/.bashrc && source ~/.bashrc
WSLのマウントポイントの設定をDocker for Windowsに合わせて、/mnt
ではなく/
にする。
$ sudo vi /etc/wsl.conf
[automount]
root = /
options = "metadata"
マシンを再起動して、WSLにて動作確認する。
$ docker info
...
Operating System: Docker for Windows
...