私はDocker初心者であり、現在、コースビデオを複製しています。 Windows 10 Homeしか持っていないため、Docker Toolboxに制限されていることを付け加えなければなりません。 (職場ではW 10 Proがあり、Docker自体を使用していますが、報告しようとしている問題は発生しませんでした)。
Windows Power Shellで次を実行すると:
PS C:\Program Files\Docker Toolbox> docker run -ti -h python -v ${pwd}:/root/docker -p 9999:9999 ubuntu:latest /bin/bash
次のエラーが表示されます
C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: invalid mode: /root/docker.
See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.
この問題はコマンドプロンプトでは発生しないため、Power Shellに関連しているようです。掲示板には何も見つかりませんでした。任意の入力をいただければ幸いです。
最高のマルクス
ドッカーツールボックスを使用しているときに同じ問題が発生しました。ソースパスの前とターゲットパスの前にもう1つ「/」を使用すると、この問題が解決します。あなたの場合、次のようになります。
docker run -ti -h python -v /${pwd}://root/docker -p 9999:9999 ubuntu:latest /bin/bash
これが機能しない場合は、次のように「/」を追加した絶対パスを使用してみてください。
docker run -ti -h python -v //c/path_to_application://root/docker -p 9999:9999 ubuntu:latest /bin/bash
この議論で述べたように、Docker Toolboxには異なるアプローチが必要であることが判明しました
Dockerフォーラム:WindowsディレクトリをDockerコンテナーにマップする
彼らが言ったように、
Windowsでは、Windowsディレクトリをコンテナに直接マップすることはできません。コンテナはVirtualBox VM内にあるためです。したがって、docker -vコマンドは、実際にVMとコンテナの間のディレクトリをマップします。
したがって、次の2つの手順でそれを行う必要があります。
VirtualBoxマネージャを介してWindowsディレクトリをVMにマッピングします。コンテナ内のディレクトリをVMとても簡単です。
Windowsでは絶対パスを使用します。次のようなものです。
docker run -ti -h python -v /c/path_to_application:/root/docker -p 9999:9999 ubuntu:latest /bin/bash
/ c/then_remaining_part_to_your_appを追加します。/c/がドライブであることに注意してください。動作するはずです。