web-dev-qa-db-ja.com

Docker Toolbox:デーモンからのエラー応答:無効なモード:/ root / docker

私は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に関連しているようです。掲示板には何も見つかりませんでした。任意の入力をいただければ幸いです。

最高のマルクス

6
Markus Knopfler

ドッカーツールボックスを使用しているときに同じ問題が発生しました。ソースパスの前とターゲットパスの前にもう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
9
saurabh singh

この議論で述べたように、Docker Toolboxには異なるアプローチが必要であることが判明しました

Dockerフォーラム:WindowsディレクトリをDockerコンテナーにマップする

彼らが言ったように、

Windowsでは、Windowsディレクトリをコンテナに直接マップすることはできません。コンテナはVirtualBox VM内にあるためです。したがって、docker -vコマンドは、実際にVMとコンテナの間のディレクトリをマップします。

したがって、次の2つの手順でそれを行う必要があります。

VirtualBoxマネージャを介してWindowsディレクトリをVMにマッピングします。コンテナ内のディレクトリをVMとても簡単です。

  • 最初に、使用するマシンにVirtualBoxの共有フォルダーを定義しました。
  • 次に、そのマシンとドッキングウィンドウを閉じてから、ドッキングツールボックスを再び起動しました。
  • 次に、docker-machine ssh defaultを実行し、ディレクトリを(指定した名前で)共有したフォルダーに変更します。私は「cd mydocker」でしたが、lsを使用すると、VMと共有したファイルを表示できます。
  • そして、ツールボックスで、docker run -it -v/mydocker:/ path_in_container image_name/bin/shを実行します
  • / path_in_containerにフォルダーとコンテンツが表示されます。
4
Mehmet Kurtipek

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/がドライブであることに注意してください。動作するはずです。

2