файл монтирования Docker toolbox в windows

Я новичок с Докером, и я использую машину windows. Но у меня проблема с монтированием файлов с помощью томов. В документации говорится следующее о монтировании файлов на OSX и windows :

официальные документы docker:

Примечание: Если вы используете Docker Machine на Mac или Windows, ваш демон Docker имеет ограниченный доступ только к вашей файловой системе OS X/Windows. Docker Machine пытается автоматически поделиться своими / пользователями (OS X) или C:Users (Windows) каталог - и поэтому вы можете монтировать файлы или каталоги с помощью docker run-v /Users/:/ ... (OS X) или docker run - V/c / пользователи/:/

> > перейти к Docker volumes docks

у меня есть небольшой Nginx Dockerfile

Dockerfile

FROM centos:6.6

MAINTAINER afym

ENV WEBPORT 80

RUN yum -y update; yum clean all

RUN yum -y install epel-release; yum clean all

RUN yum -y install nginx; yum clean all

RUN echo "daemon off;" >> /etc/nginx/nginx.conf

VOLUME /usr/share/nginx/html

EXPOSE $WEBPORT

CMD [ "/usr/sbin/nginx" ]

создание простого контейнер

docker run -d --name simple -p 8082:80 ng1

8875448c01a4787f1ffe4c4c5c492efb039e452eff957391ac52a08915e18d66

enter image description here

создание контейнера с объемом

мой каталог хоста windows

enter image description here

создание контейнера docker с опцией-v

docker run -d --name simple2 -v /c/Users/src:/usr/share/nginx/html -p 8082:80 ng1
invalid value "C:Userssrc;C:Program FilesGitusrsharenginxhtml" 
for flag -v: bad mount mode specified 
: Program FilesGitusrsharenginxhtml
See 'C:Program FilesDocker Toolboxdocker.exe run --help'.

проверка Ноттингем, ng1 изображение

docker inspect ng1

enter image description here

что не так, когда я создаю контейнер docker с Томом?

спасибо.

3 ответов


попробуйте запустить его с дополнительными / для Тома, например:

docker run -d --name simple2 -v /c/Users/src://usr/share/nginx/html -p 8082:80 ng1

или даже для хост-ОС, как

docker run -d --name simple2 -v //c/Users/src://usr/share/nginx/html -p 8082:80 ng1

из-за этого вопрос:

это то, что среда MSYS делает для сопоставления путей POSIX с путями Windows, Прежде чем передавать их исполняемым файлам.


для тех, кто использует docker ~> 1.12 и сталкивается с этой проблемой. Я потратил 30 минут, пытаясь понять это, пока не понял, что вам нужно сначала поделиться диском через настройки docker, см.: https://docs.docker.com/docker-for-windows/#/shared-drives


Если вы просто хотите получить доступ к локальному диску, терминал mingw32 Docker Toolbox помещает корень каждого диска в /<drive-letter>, Так что гони C:\ будет /c/