在浏览 docker 文档时,我遇到了 docker run 命令的 volumes-from ( https://docs.docker.com/engine/reference/commandline/run/ ) 选项。我不明白 ro, rw, and z
选项之间的区别 -
$ docker run --volumes-from ba8c0c54f0f2:ro -i -t ubuntu pwd
在上述命令中, ro
选项被替换为 z
。如果有人探讨使用这些选项的差异,我将不胜感激。
原文由 Yogesh Jilhawar 发布,翻译遵循 CC BY-SA 4.0 许可协议
两个后缀 :z 或 :Z 可以添加到卷安装。这些后缀告诉 Docker 重新标记共享卷上的文件对象。 ‘z’ 选项告诉 Docker 卷内容将在容器之间共享。 Docker 将使用共享内容标签标记内容。共享卷标签允许所有容器读/写内容。 “Z”选项告诉 Docker 使用私有非共享标签标记内容。
https://github.com/rhatdan/docker/blob/e6473011583967df4aa5a62f173fb421cae2bb1e/docs/sources/reference/commandline/cli.md
如果您使用 selinux,您可以添加 z 或 Z 选项来修改要挂载到容器中的主机文件或目录的 selinux 标签。这会影响主机本身的文件或目录,并可能产生 Docker 范围之外的后果。
z 选项表示绑定挂载内容在多个容器之间共享。 Z 选项表示绑定挂载内容是私有的和非共享的。使用这些选项时要格外小心。使用 Z 选项绑定挂载系统目录(例如 /home 或 /usr)会使您的主机无法运行,您可能需要手动重新标记主机文件。
\( docker run -d \ -it \ --name devtest \ -v "\)(pwd)“/target:/app:z \ nginx:latest
https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation