Вывод 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
Вывод 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
Действия по воспроизведению проблемы:
Опишите полученные результаты:
Опишите ожидаемые результаты:
Я ожидал, что docker run
будет поддерживать монтирование локального файла с использованием относительного пути.
связанная проблема: https://github.com/docker/docker/issues/22016
@subchen Это в значительной степени указано в документации.
Контейнер-назначение всегда должен быть абсолютным путем, например /src/docs. Host-src может быть либо абсолютным путем, либо значением имени . Если вы укажете абсолютный путь для host-dir, Docker привязывается к указанному вами пути. Если вы укажете имя, Docker создаст именованный том с этим именем.
- docker видит это как имя тома и, таким образом, создает том, создает для него папку внутри и монтирует в нее том.
- docker _still_ видит это как имя тома, но
/
не допускается в имени тома, и поэтому он не работает- работает как положено :angel:
Причина, по которой cli docker
не использует относительный путь, заключается в том, что клиент Docker и демон Docker могут находиться на разных хостах. Таким образом, как следует обрабатывать относительный путь?
Я собираюсь закрыть это, так как это работает, как задумано и задокументировано, даже если это немного сбивает с толку. Если вы считаете, что документацию следует улучшить, отправьте патч!
Вы можете сделать -v $PWD/../../path:/location
, чтобы косвенно использовать относительный путь.
@vdemeester @justincormack спасибо за ваши объяснения.
-v $PWD/../../path:/location
может решить мою проблему.
Самый полезный комментарий
Я собираюсь закрыть это, так как это работает, как задумано и задокументировано, даже если это немного сбивает с толку. Если вы считаете, что документацию следует улучшить, отправьте патч!
Вы можете сделать
-v $PWD/../../path:/location
, чтобы косвенно использовать относительный путь.