Saída 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
Saída 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
Etapas para reproduzir o problema:
Descreva os resultados que você recebeu:
Descreva os resultados esperados:
Eu esperava que docker run
suportasse montar um arquivo local usando um caminho relativo.
problema relacionado: https://github.com/docker/docker/issues/22016
@subchen Isso é praticamente declarado na documentação
O container-dest deve sempre ser um caminho absoluto como /src/docs. O host-src pode ser um caminho absoluto ou um valor de nome . Se você fornecer um caminho absoluto para o diretório do host, o Docker será montado no caminho especificado. Se você fornecer um nome, o Docker criará um volume nomeado com esse nome.
- docker veja isso como um nome para um volume e, assim, crie o volume, crie uma pasta para ele dentro e monte o volume nele.
- docker _still_ veja isso como um nome para um volume, mas
/
não é permitido no nome de um volume e, portanto, falha- funcionando como esperado :angel:
O motivo pelo qual o docker
cli não usa o caminho relativo é porque o cliente do docker e o daemon do docker podem não estar no mesmo host. Assim, como o caminho relativo deve ser tratado?
Vou fechar isso, pois está funcionando como pretendido e documentado, mesmo que seja um pouco confuso. Se você acha que a documentação deve ser melhorada, envie um patch!
Você pode fazer -v $PWD/../../path:/location
para usar um caminho relativo indiretamente.
@vdemeester @justincormack obrigado pela sua explicação.
-v $PWD/../../path:/location
pode resolver meu problema.
Comentários muito úteis
Vou fechar isso, pois está funcionando como pretendido e documentado, mesmo que seja um pouco confuso. Se você acha que a documentação deve ser melhorada, envie um patch!
Você pode fazer
-v $PWD/../../path:/location
para usar um caminho relativo indiretamente.