файл монтирования 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
создание контейнера с объемом
мой каталог хоста windows
создание контейнера 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
что не так, когда я создаю контейнер 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/