J'essaie de monter un lecteur réseau en tant que volume. Ceci est la commande que j'essaie
docker run -v //NetworkDirectory/Folder:/data Alpine ls /data
J'exécute cette commande sur Windows et le répertoire de données arrive vide. Comment puis-je monter ce répertoire réseau en tant que volume sur l'hôte Windows et y accéder à l'intérieur du conteneur?
Travailler avec des répertoires locaux fonctionne très bien, donc la commande suivante fonctionne comme prévu.
docker run -v c:/Users/:/data Alpine ls /data
Je peux le faire fonctionner sous Linux car je peux monter le partage avec cifs-utils sur un répertoire local et utiliser ce répertoire comme volume.
Modifier: Il semble que ce ne soit pas possible: Comment monter le volume réseau dans Docker pour Windows (Windows 10)
Mon collègue a proposé cela et cela fonctionne avec le lecteur réseau de notre entreprise et cela pourrait aider quelqu'un là-bas.
Nous commençons par créer un volume docker nommé mydockervolume
.
docker volume create --driver local --opt type=cifs --opt device=//networkdrive-ip/Folder --opt o=user=yourusername,domain=yourdomain,password=yourpassword mydockervolume
--driver
spécifie le nom du pilote de volume--opt
Définit les options spécifiques au pilote. Je suppose qu'ils sont donnés à la commande linux mount
lorsque le conteneur démarre.On peut alors tester que le volume fonctionne avecdocker run -v mydockervolume:/data Alpine ls /data
Je n'ai pas trouvé de pilote de stockage CIFS natif sur Docker.
Vous pouvez utiliser un plugin de volume externe comme celui-ci: https://github.com/ContainX/docker-volume-netshare qui prend en charge NFS, AWS EFS & Samba/CIFS