Comment utiliser --option volume avec Docker boîte à outils sur Windows?
Comment puis-je partager un dossier entre mes fichiers de Windows et un conteneur docker, par le montage d'un volume simple avec --volume
l'aide de la commande Docker boîte à outils sur?
Je suis à l'aide de "Docker" Quickstart "Terminal", et quand j'ai essayer ceci:
winpty docker run -it --rm --volume /C/Users/myuser:/myuser ubuntu
J'ai cette erreur:
Invalid value "C:\\Users\\myuser\\:\\myuser" for flag --volume: bad mount mode specified : \myuser
See 'docker run --help'.
Suivantes cette, j'ai aussi essayé
winpty docker run -it --rm --volume "//C/Users/myuser:/myuser" ubuntu
et a obtenu
Invalid value "\\\\C:\\Users\\myuser\\:\\myuser" for flag --volume: \myuser is not an absolute path
See 'docker run --help'.
- Il y a une question similaire, avec une étape-par-étape de réponse de comment monter un répertoire windows dans un conteneur docker
- Essayez la procédure décrite dans cette réponse et voir si cela fonctionne.
Vous devez vous connecter pour publier un commentaire.
C'est une amélioration de la réponse choisie parce que la réponse est limitée à c:\Users dossier. Si vous souhaitez créer un volume à l'aide d'un répertoire en dehors de c:\Users c'est une extension.
Dans windows 7, j'ai utilisé le panneau de boîte à outils. Il utilise Virtual Box.
Par exemple, dans mon cas, j'ai inclus:
Utilisez cette commande:
Pour vérifier qu'il fonctionne, en suivant ces étapes:
À l'aide de cette commande:
Dans mon cas, j'utilise cette commande
Vous verrez quelque chose comme ceci:
Dans ce cas, vous serez en mesure de créer un volume pour ce dossier.
Vous pouvez utiliser ces commandes:
ou
Les deux commandes de travail pour moi. J'espère que ce sera utile.
C'est en fait un question du le projet et il y a 2 solutions:
La création d'un volume de données:
SSHing directement dans le panneau de l'hôte:
Et à partir de là à faire un classique:
En août 2016 Docker pour windows utilise maintenant la technologie hyper-v directement au lieu de virtualbox, donc je pense que c'est un peu différent. La première part de la voiture dans les paramètres, puis utiliser le
C:
lettre de lecteur format, mais utiliser des barres obliques. Par exemple, j'ai créé unH:\t\REDIS
répertoire et a été en mesure de le voir monté sur/data
dans le récipient avec cette commande:Le même format, en utilisant la lettre de lecteur et un deux-points puis des barres obliques pour le séparateur de chemin travaillé à la fois à partir de l'invite de commandes windows et à partir de git bash.
J'ai trouvé cette question googler pour trouver une réponse, mais je ne pouvais pas trouver quelque chose qui a travaillé. Les choses semblent fonctionner sans erreurs en cours de levée, mais je ne pouvais pas voir les données sur l'ordinateur hôte (ou vice-versa). Enfin j'ai vérifié les paramètres de près et j'ai essayé le format qu'ils montrent:
Alors d'abord, vous avez à partager l'ensemble de la voiture pour le menu fixe vm dans les paramètres, je crois que donne le "docker-machine' vm exécutant hyper-v l'accès à ce lecteur. Ensuite, vous devez utiliser le format représenté, qui semble n'exister que dans cette seule image et en l'absence de documentation ou des questions que j'ai pu trouver sur le web:
Docker for Windows
qui est uniquement pris en charge sur Windows 10 et Windows Server 2016.Si vous êtes à la recherche de la solution qui permettra de résoudre tous les problèmes de Windows et de le faire fonctionner sur le système d'exploitation Windows de la même manière que sur Linux, puis voir ci-dessous. J'ai testé et ça marche dans tous les cas. Je vous montre aussi comment je l'obtenir (les étapes et les processus de la pensée). J'ai également écrit un article sur l'utilisation de Docker et de traiter avec docker questions ici.
Solution 1: Utiliser VirtualBox (si vous pensez que ce n'est pas une bonne idée de voir la Solution 2 ci-dessous)
Bonus:
Solution 2: Utiliser VirtualBox (ce qui est très similaire à la solution 1, mais il montre aussi que le processus de la pensée, ce qui peut être utile lors de la résolution des problèmes similaires)
Essayez ceci:
$ cd ~
à assurez-vous que vous êtes dans le répertoire d'utilisateur Windows.$ docker run -it -v /$(pwd)/ubuntu:/windows ubuntu
Il fonctionne si l'erreur est due à une faute de frappe. Vous obtiendrez un dossier vide nommé
ubuntu
dans votre répertoire utilisateur. Vous verrez ce dossier avec le nomwindows
dans votre ubuntu conteneur.Pour ceux qui utilisent Virtual Box qui préfèrent de ligne de commande approche
1) assurez-vous que le docker-machine n'est pas en cours d'exécution
Le Panneau De Démarrage Du Terminal:
2) Créer le partage Windows <-> menu fixe-machine
Invite de commande Windows:
(Modifier suivantes pour s'adapter à votre scénario. - Je nourrir mon Apache httpd conteneur de répertoire synchronisé via Dropbox.)
3) Démarrer le menu fixe-machine et monter le volume dans un nouveau conteneur
Le Panneau De Démarrage Du Terminal:
(Encore une fois, je suis en train de créer un serveur Apache httpd conteneur, ainsi que le port de l'exposer.)
Simplement à l'aide de double pointe des barres obliques a fonctionné pour moi sur Windows 7:
Prises à partir d'ici: https://github.com/moby/moby/issues/12590
partager des dossiers virtualBox boîte à outils et windows 7 et nodejs image contenant
à l'aide de...
Le panneau de Démarrage rapide de Terminal [QST]
L'Explorateur de Windows [NOUS]
permet de commencer...
[QST] ouvrez le Panneau de Démarrage du Terminal
[QST] arrêter la machine virtuelle
$ docker-arrêt de la machine
[NOUS] ouvrir un explorateur windows
[NOUS] aller à la virtualBox installation dir
[NOUS] ouvrir un cmd et exécuter...
C:\Program Files\Oracle\VirtualBox>VBoxManage sharedfolder ajouter "par défaut" --nom
"/d/SVN_FOLDERS/X2R2_WP6/nodejs" --hostpath "\?\d:\SVN_FOLDERS\X2R2_WP6\nodejs" --automount
vérifier dans l'oracle de la machine virtuelle, que le nouveau dossier partagé est apparu
[QST] démarrer la machine virtuelle
$ docker-machine commence
panneau stop nodejs
docker rm nodejs
docker run-d-il --rm --nom de nodejs -v /d/SVN_FOLDERS/X2R2_WP6/nodejs:/usr/src/app -l /usr/src/app node2
docker exec -i-t nodejs /bin/bash
J'ai trouvé!
Ajouter un volume:
docker run-d-v mon-nom-volume:C:\MyNamedVolume testimage:dernière
Monter un répertoire de l'hôte:
docker run-d-v C:\Temp\123:C:\My\Shared\Dir testimage:dernière