WSL (v1)からdocker を使う
WSL から Docker を使うには、TCPでローカルホストに接続するのが楽ちん
docker ( windows ) のインストール
まずは、Windows にDocker-Desktop をインストール
choco install docker-desktop
port 2575 を有効にする。
インストールしたら、Dockerが外部からの接続を受け付けるように設定する。
WSL 側で docker-client を使えるようにインストール。
WSL v1 ( ubuntu / debian )で docker コマンドをインストール ( cli だけでいい)
sudo apt install docker-ce-cli
DOCKER_HOST の環境変数を用意する。
docker-desktop がリッスンしているポートを指定する。
export DOCKER_HOST=tcp://localhost:2375
あとは通常通り使える
WSL v2 じゃないとだめってわけじゃなく、TCP接続すれば別に問題なく動く。
docker ps
たとえば、php を動かす。
php のコードを docker 内部で動作させる。
wsl v1 のパスを 明示的に変換する必要がある。とくにボリュームを接続するときは、 wslpath を使ってwindows の C:\
のパスに変換して上げる必要ある。
docker run --rm -it -v "$(wslpath -m ${PWD})":/app -w /app -u www-data php:7.4-cli php test.php
ボリュームの接続先はどこでも動きそうだ。