Sortie de docker version
:
Client:
Version: 1.11.1
API version: 1.23
Go version: go1.5.4
Git commit: 5604cbe
Built: Wed Apr 27 00:34:20 2016
OS/Arch: linux/amd64
Server:
Version: 1.11.1
API version: 1.23
Go version: go1.5.4
Git commit: 5604cbe
Built: Wed Apr 27 00:34:20 2016
OS/Arch: linux/amd64
Sortie de docker info
:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 21
Server Version: 1.11.1
Storage Driver: overlay
Backing Filesystem: xfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: host bridge null
Kernel Version: 3.10.0-327.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.64 GiB
Name: centos-dev
ID: ACEV:LLBJ:NOYB:VEHF:V3FO:JY3A:5ETY:ETCU:WM3D:DBGZ:YF25:BUTY
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Étapes pour reproduire le problème :
Décrivez les résultats que vous avez reçus :
Décrivez les résultats que vous attendiez :
Je m'attendais à ce que docker run
en charge le montage d'un fichier local à l'aide d'un chemin relatif.
problème connexe : https://github.com/docker/docker/issues/22016
@subchen Ceci est à peu près indiqué dans la documentation
Le conteneur-dest doit toujours être un chemin absolu tel que /src/docs. Le host-src peut être soit un chemin absolu, soit une valeur de nom . Si vous fournissez un chemin absolu pour le répertoire hôte, Docker se monte sur le chemin que vous spécifiez. Si vous fournissez un nom, Docker crée un volume nommé par ce nom.
- docker voit cela comme un nom pour un volume, et donc, créez le volume, créez un dossier pour celui-ci à l'intérieur et montez le volume dedans.
- docker _still_ voit cela comme un nom pour un volume mais
/
n'est pas autorisé dans le nom d'un volume, et donc il échoue- fonctionne comme prévu :ange:
La raison pour laquelle le docker
cli ne prend pas de chemin relatif est que le client docker et le démon docker ne se trouvent peut-être pas sur le même hôte. Ainsi, comment le chemin relatif doit-il être géré ?
Je vais fermer ceci car il fonctionne comme prévu et documenté, même si c'est un peu déroutant. Si vous pensez que la documentation doit être améliorée, veuillez soumettre un correctif !
Vous pouvez faire -v $PWD/../../path:/location
pour utiliser indirectement un chemin relatif.
@vdemeester @justincormack merci pour vos explications.
-v $PWD/../../path:/location
peut résoudre mon problème.
Commentaire le plus utile
Je vais fermer ceci car il fonctionne comme prévu et documenté, même si c'est un peu déroutant. Si vous pensez que la documentation doit être améliorée, veuillez soumettre un correctif !
Vous pouvez faire
-v $PWD/../../path:/location
pour utiliser indirectement un chemin relatif.