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
Créer un conteneur avec un volume
Mon répertoire hôte Windows
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
Quel est le problème lorsque je crée un conteneur Docker avec un volume?
Merci.
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.
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
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/
.