7

CoreOS VM から次のコマンドを実行すると、期待どおりに動作します。

docker run --rm -v $PWD:/data composer init

composer.json指定された Docker ボリューム マッピングを使用して、現在の作業ディレクトリ内のファイルを初期化します。Docker コンテナーには基本的に PHP ツール composer がインストールされており/data、コンテナーのフォルダー内でそのツールを実行します。マッピングを使用することで、ホスト マシン上のファイルに実際に適用されます。

ただし、Docker Toolbox を使用して Windows でこのコマンドを実行しようとすると、次のエラーが発生します。

$ docker run --rm -v $PWD:/data composer --help
invalid value "C:\\Users\\Marco;C:\\Program Files\\Git\\data" for flag -v: bad mount mode specified : \Program Files\Git\data
See 'C:\ProgramData\Chocolatey\lib\docker\bin\docker.exe run --help'.

ここで気付いたのは、コマンドを実行するときに Git Bash にいるにもかかわらず、まだ Windows パスを使用していることです。それで、次のことを試しました(引用符で囲みます):

$ "docker run --rm -v $PWD:/data composer --help"
bash: docker run --rm -v /c/Users/Marco:/data composer --help: No such file or directory

現在、ディレクトリを見つけることができません。

$PWD 変数なしでも試しましたが、違いはありません。

これを Windows で機能させるにはどうすればよいですか?

4

2 に答える 2

7

これはうまくいくはずです: $ docker run --rm -v //c/Users/Marco:/data composer --help

于 2015-11-30T15:15:52.207 に答える
0

試すMSYS_NO_PATHCONV=1 docker run ...

Git Bash は、他の Windows コマンドのパスを変換しようとします。

于 2016-01-22T13:59:44.020 に答える