DEV Community

KOGA Mitsuhiro
KOGA Mitsuhiro

Posted on • Originally published at qiita.com

Boot2Docker on WindowsでMinGWのパス変換を回避する

WindowsのBoot2Dockerでdocker execのようなパスを渡すコマンドを実行すると以下のように失敗してしまいます。

$ docker exec -it 500e4b38e0fd /bin/bash
exec: "C:/Program Files (x86)/Git/bin/bash": stat C:/Program Files (x86)/Git/bin/bash: no such file or directory

これはMinGWのPosix path conversionによってパスがいい感じに変換されてしまうためです。
このルールとエラーメッセージから/bin/bashC:/Program Files (x86)/Git/bin/bashに変換されている事が分かります。
それではどうすればいいのかと言えば、パスの先頭の/を二重にすることで変換を抑制できます。

$ docker exec -it 500e4b38e0fd //bin/bash
root@500e4b38e0fd:/data#

MinGWのPosix path conversionはコマンドライン文字列のすべてに影響するので-fオプションなどでファイルのパスを指定する際も同様に対処が必要になります。

Top comments (0)