Docker Toolbox: Ошибка ответа от демона: недопустимый режим: / root / docker - PullRequest
0 голосов
/ 26 мая 2018

Я новичок в 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.Я не нашел ничего в форумах.Любой вклад будет оценен.

Лучший Маркус

Ответы [ 3 ]

0 голосов
/ 19 октября 2018

Оказалось, что Docker Toolbox нуждается в другом подходе, как указано в этом обсуждении

Форумы Docker: сопоставление каталога Windows с контейнером Docker

Как они сказали,

В Windows вы не можете напрямую сопоставить каталог Windows с вашим контейнером.Потому что ваши контейнеры находятся внутри виртуальной машины VirtualBox.Таким образом, ваша команда docker -v фактически отображает каталог между виртуальной машиной и контейнером.

Таким образом, вы должны сделать это в два этапа:

Сопоставить каталог Windows с виртуальной машиной через менеджер VirtualBox. Mapкаталог в вашем контейнере в каталог в вашей виртуальной машине Вам лучше использовать пользовательский интерфейс Kitematic, чтобы помочь вам.Это намного проще.

  • Сначала я определил общую папку на VirtualBox для машины, которую я использую.
  • Затем закрыл окна машины и докера, затем снова запустил панель инструментов докера.,
  • Затем запустите docker-machine ssh default и просто измените каталог на общую папку (с указанным именем).Мой был "cd mydocker", затем с помощью ls вы можете увидеть файлы, которыми вы поделились с ВМ.
  • И в наборе инструментов запустите docker, запустите -it -v / mydocker: / path_in_container image_name / bin / sh
  • Вы должны увидеть папку и содержимое в /path_in_container.
0 голосов
/ 01 ноября 2018

У меня возникла такая же проблема при использовании панели инструментов Docker.Использование еще одной «/» перед вашим исходным путем, а также перед вашим целевым путем решит эту проблему.В вашем случае это будет выглядеть так:

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
0 голосов
/ 02 октября 2018

Использовать абсолютный путь в 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 / - это диск.Это должно работать.

...