web-dev-qa-db-fra.com

Docker essaie de mkdir le dossier que je monte

Pourquoi Docker essaie-t-il de créer le dossier que je monte? Si je cd à C:\Users\szx\Projects

docker run --rm -it -v "${PWD}:/src" ubuntu /bin/bash

Cette commande existe l'erreur suivante:

C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: error while creating mount source path '/c/Users/szx/Projects': mkdir /c/Users/szx/Projects: file exists.

J'utilise Docker Toolbox sur Windows 10 Home.

3
szx

J'ai eu cette erreur après avoir changé mon mot de passe Windows. Je devais aller dans les paramètres de Docker et faire "Réinitialiser les informations d'identification" sous "Shared Drives", puis redémarrer Docker.

2
melicent

Avez-vous utilisé ce conteneur avant? Vous pouvez essayer de supprimer tous les volumes du menu fixe avant de réexécuter votre commande.

docker volume rm `(docker volume ls -qf dangling=true)`

J'ai essayé votre commande localement (MacOS) sans aucune erreur. 

0
Mornor

Assurez-vous que le dossier est partagé avec la machine virtuelle intégrée au menu fixe. Cela diffère avec les différents types de menu fixe pour les installations de bureau. Avec toolbox, je pense que vous pouvez trouver les dossiers partagés dans la configuration de VirtualBox. Vous devriez également noter que ces répertoires sont sensibles à la casse. Une façon de déboguer est d'essayer:

docker run --rm -it -v "/:/Host" ubuntu /bin/bash

Et voyez à quoi ressemble le système de fichiers sous "/ Host".

0
BMitch

J'ai rencontré cette erreur lorsqu'un autre conteneur en cours d'exécution utilisait déjà le dossier en cours de montage dans la commande d'exécution du menu fixe. S'il vous plaît vérifier pour le même et si pas nécessaire, puis arrêtez le conteneur. La meilleure solution consiste à utiliser le volume à l'aide de la commande suivante -

volume de docker créer 

ensuite, montez ce volume créé si nécessaire pour pouvoir être utilisé par plusieurs conteneurs.

0
Abhishek Jain