私は、WSLでDocker for windowsを使うッ!!!の記事を参考にWSL上でdocker for windowsを動かしてみました。
記事が素晴らしくシンプルにまとまっていて分かりやすかったです。
記事中では/etc/wsl.conf
を修正し/mnt/c/
の位置を変更することで、windowsのディレクトリをマウントできるようにしていますが、設定を変更しなくても良い感じに動かせるぽいので紹介します。
Dependency
Ubuntu 18.04 on WSL ?
※ WSL2では無いです
コマンド
下記のどちらかでうまく動かせます。
$ docker run -v `wslpath -m $PWD`:/app -w /app -it ubuntu bash
$ docker run -v $(wslpath -m $PWD):/app -w /app -it ubuntu bash
wslpathのオプションは-m
でなく-w
でも動くみたいです。
ちなみにwindows上にパスが存在せず
コンテナにマウントできない場所でwslpathを実行するとエラーになるので、
便利だったりします。
$ docker run -v `wslpath -m $PWD`:/app -w /app -it ubuntu bash
wslpath: /tmp/exmple: Invalid argument
説明とか
wslpathについては下記の記事が詳しいです。
https://laboradian.com/wslpath-command-for-wsl/
docker for windowsのパス指定についてはこの記事が詳しいようです。
https://qiita.com/gentaro/items/7dec88e663f59b472de6
廃止予定?のコマンドですがwsluのwslupathを使っても良いかもしれません。
この記事が誰かの参考になれば幸いです。