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 で機能させるにはどうすればよいですか?