J'ai un menu fixe avec la version 17.06.0-ce
. Quand j'essaye d'installer nginx en utilisant docker avec la commande:
docker run -p 80:80 -p 8080:8080 --name nginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx:latest
cela montre que
docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "process_linux.go:339: container init caused \"rootfs_linux.go:57: mounting \\\"/appdata/nginx/conf/nginx.conf\\\" to rootfs \\\"/var/lib/docker/aufs/mnt/dcea22444e9ffda114593b18fc8b574adfada06947385aedc2ac09f199188fa0\\\" at \\\"/var/lib/docker/aufs/mnt/dcea22444e9ffda114593b18fc8b574adfada06947385aedc2ac09f199188fa0/etc/nginx/nginx.conf\\\" caused \\\"not a directory\\\"\""
: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified Host path exists and is the expected type.
Si vous ne montez pas le fichier nginx.conf
, tout va bien. Alors, comment puis-je monter le fichier de configuration?
Merci.
Parce que docker reconnaît $PWD/conf/nginx.conf
comme folder et non un fichier.
Vérifiez si le répertoire $PWD/conf/
ne contient pas nginx.conf en tant que répertoire.
Essayer avec
> cat $PWD/conf/nginx.conf
cat: nginx.conf/: Is a directory
Sinon, ouvrez un problème de Docker .
Cela fonctionne bien pour moi avec la même configuration.
Si vous utilisez Docker pour Windows, cette erreur peut survenir si vous avez récemment modifié votre mot de passe.
Comment réparer:
docker rm -v <container_name>
Supprimez les volumes associés au conteneur. Recherchez le nom du conteneur à l'aide de docker ps -a
, puis supprimez-le à l'aide de:
docker rm -v <container_name>
Problème:
L'erreur à laquelle vous faites face peut se produire si vous avez déjà essayé d'exécuter la commande docker run
alors que le fichier n'était pas présent à l'emplacement où il aurait dû se trouver dans le répertoire de l'hôte. Dans ce cas, le démon docker aurait créé un répertoire dans un conteneur à sa place. Ce qui plus tard ne parvient pas à mapper vers le fichier approprié lorsque les fichiers corrects sont placés dans le répertoire de l'hôte et que le menu fixe est exécuté à nouveau.
Solution:
Supprimez les volumes associés au conteneur. Si vous n'êtes pas préoccupé par les autres volumes de conteneur, vous pouvez également utiliser:
docker volume rm $(docker volume ls -q)
pourriez-vous s'il vous plaît utiliser le chemin absolu/chemin complet à la place $ PWD/conf/nginx.conf .it fonctionnera
EX:docker run --name nginx-container5 --rm -v /home/sree/html/nginx.conf:/etc/nginx/nginx.conf -d -p 90:80 nginx
b9ead15988a93bf8593c013b6c27294d38a2a40f4ac75b1c1ee362de4723765b
root@sree-VirtualBox:/home/sree/html# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b9ead15988a9 nginx "nginx -g 'daemon of…" 7 seconds ago Up 6 seconds 0.0.0.0:90->80/tcp nginx-container5
e2b195a691a4 nginx "/bin/bash" 16 minutes ago Up 16 minutes 0.0.0.0:80->80/tcp test-nginx
Je sais que cette question a été postée il y a longtemps, mais j'aimerais quand même dire comment j'ai résolu ce problème.
J'utilise Docker ToolBox pour Windows. Par défaut, C Drive est monté automatiquement. Par conséquent, pour monter les fichiers, assurez-vous que vos fichiers et dossiers se trouvent dans C DRIVE.
Exemple: C:\Users \% USERNAME%\Desktop