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/bashはC:/Program Files (x86)/Git/bin/bashに変換されている事が分かります。
それではどうすればいいのかと言えば、パスの先頭の/を二重にすることで変換を抑制できます。
$ docker exec -it 500e4b38e0fd //bin/bash
root@500e4b38e0fd:/data#
MinGWのPosix path conversionはコマンドライン文字列のすべてに影響するので-fオプションなどでファイルのパスを指定する際も同様に対処が必要になります。
Top comments (0)