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これはドキュメントにほとんど記載されています
container-destは、常に/ src / docsなどの絶対パスである必要があります。 host-srcは、絶対パスまたは名前値のいずれかです。 host-dirの絶対パスを指定すると、Dockerは指定したパスにバインドマウントします。 名前を指定すると、Dockerはその名前で名前付きボリュームを作成します。
- dockerはそれをボリュームの名前として認識し、ボリュームを作成し、その中にフォルダーを作成して、ボリュームをマウントします。
- docker _still_はボリュームの名前としてそれを確認しますが、ボリュームの名前で
/
は許可されていないため、失敗します- 期待どおりに機能しています:angel:
docker
cliが相対パスを使用しない理由は、DockerクライアントとDockerデーモンが同じホスト上にない可能性があるためです。 したがって、相対パスはどのように処理する必要がありますか?
少し混乱しますが、意図したとおりに機能し、文書化されているため、これを閉じます。 ドキュメントを改善する必要があると思われる場合は、パッチを送信してください。
-v $PWD/../../path:/location
を実行して、相対パスを間接的に使用できます。
@ vdemeester @ justincormack説明してくれてありがとう。
-v $PWD/../../path:/location
で問題を解決できます。
最も参考になるコメント
少し混乱しますが、意図したとおりに機能し、文書化されているため、これを閉じます。 ドキュメントを改善する必要があると思われる場合は、パッチを送信してください。
-v $PWD/../../path:/location
を実行して、相対パスを間接的に使用できます。