概要
- PC 交換をした
- 以下に沿って WSL2 のボリュームの引っ越しをした
- https://forest.watch.impress.co.jp/docs/serial/yajiuma/1220926.html
- Docker Desktop も入れ直した
- うまく WSL2 と連携されず、 docker コマンドが使えなかった
- 設定に問題がなさそうであればログをみるのが手っ取り早い
環境
- Windows 10
- WSL2 + Ubuntu 18.04
- Docker Desktop for Windows 2.3.0.4
現象
WSL Integration が有効になっているのに docker
コマンドが使えない。
$ docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
ログの参照
- Troubleshoot -> Run Diagnostics -> logfile
- もしくは
C:/Users/<User Name>/AppData/Local/Docker/log.txt
を直接開く
- もしくは
今回の原因
[12:37:48.751][WslIntegrationAgent-Ubuntu1804][Info ] time="2021-04-14T12:37:48+09:00" level=fatal msg="mkdir /mnt/c/Users/ogawa/key.pem: permission denied"
なぜか mkdir で permission denied になっていた。
PC 交換に伴って Windows のユーザー名が ogawa -> t_ogawa へ変更となっていたため、 /mnt/c/Users/ogawa/key.pem
は現 PC には存在していなかった。
そこで /mnt/c/Users/ogawa
ディレクトリを作って key.pem を置いてあげたところエラーは解消され、
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
docker コマンドが打てるようになった。
なお、key.pem は自前のコンテナの起動スクリプトで利用するものであった。
まとめ
- docker の動作がおかしいときはログをみる