web-dev-qa-db-fra.com

fichier de montage de docker toolbox sur Windows

Je suis un débutant avec docker et j'utilise une machine Windows. Mais j'ai un problème de montage de fichiers en utilisant des volumes. La documentation indique ce qui suit concernant les fichiers de montage sur OSX et Windows:

Docker officiel:

Remarque: Si vous utilisez Docker Machine sur Mac ou Windows, votre démon Docker n'a qu'un accès limité à votre système de fichiers OS X/Windows. Docker Machine essaie de partager automatiquement votre répertoire/Users (OS X) ou C:\Users (Windows). Vous pouvez ainsi monter des fichiers ou des répertoires à l'aide de Docker run -v/Users /:/... (OS X) ou docker run -v /c/Users/:/.____.

>> aller aux volumes de docker docks

J'ai un petit Dockerfile nginx

Dockerfile

 FROM centos: 6.6 

 MAINTENIR afym 

 ENV WEBPORT 80 

 RUN Miam-y update; yum clean all 

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

 RUN yum -y install nginx; yum clean all 

 RUN echo "démon éteint;" >> /etc/nginx/nginx.conf

VOLUME /usr/share/nginx/html

EXPOSE $ WEBPORT 

 CMD ["/ usr/sbin/nginx" ] 

Créer un simple conteneur

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

8875448c01a4787f1ffe4c4c5c492efb039e452eff957391ac52a08915e18d66

 enter image description here

Créer un conteneur avec un volume

Mon répertoire hôte Windows

 enter image description here

Création du conteneur de menu fixe avec l'option -v

docker run -d --name simple2 -v/c/Utilisateurs/src:/usr/share/nginx/html -p 8082: 80 ng1
valeur non valide "C: \\ Utilisateurs \\ src; C: \\ Programmes de programme \\ Git \\ usr \\ partage \\ nginx \\ html" 
 pour l'indicateur -v: mode de montage incorrect spécifié .__:\Program Files\Git\usr\share\nginx\html 
 Voir 'C:\Program Files\Docker Toolbox\docker.exe run --help'.

Inspection de l'image ng1

docker inspecter ng1

 enter image description here

Quel est le problème lorsque je crée un conteneur Docker avec un volume?

Merci.

11
afym

Essayez de l'exécuter avec / supplémentaire pour le volume comme:

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

Ou même pour Host OS, comme

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

Pour cette raison issue :

C’est quelque chose que l’environnement MSYS fait pour mapper les chemins POSIX aux chemins Windows avant de les transmettre aux exécutables.

21
Stanislav

Pour ceux qui utilisent docker ~> 1.12 et fait face à ce problème. J'ai passé 30 minutes à essayer de comprendre jusqu'à ce que je réalise que vous devez partager un lecteur en particulier via les paramètres du menu fixe, voir: https://docs.docker.com/docker-for-windows/#/shared- disques

2
olive_tree

Si vous souhaitez simplement accéder à un lecteur local, le terminal MINGW32 Docker Toolbox place la racine de chaque lecteur dans /<drive-letter>, de sorte que le lecteur C:\ sera à /c/.

0
James Gentes