1. ホーム
  2. docker

[解決済み] dockerコンテナのvolumes-fromオプションの'z'フラグとは何ですか?

2023-05-27 03:09:25

質問

docker のドキュメントを読んでいたら、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 . これらのオプションを使用することの違いについて、どなたか調べてくださるとありがたいです。

どのように解決するのですか?

ボリュームマウントには、2つのサフィックス :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オプションは、バインドマウントコンテンツがプライベートで非共有であることを示します。 これらのオプションには細心の注意を払ってください。home や /usr などのシステムディレクトリを Z オプションでバインドマウントすると、ホストマシンが操作不能になり、ホストマシンのファイルを手動で再ラベル化する必要がある場合があります。

$ docker run -d \ -it \ nginx:latest

https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation