Podmanボリュームマウント:いつ:zまたは:Zサフィックスを使用しますか?

Podmanボリュームマウント:いつ:zまたは:Zサフィックスを使用しますか?

フォードマンのマニュアルページボリュームマウント/バインディングの説明:

SELinuxなどのラベル付けシステムでは、コンテナにマウントされているボリュームの内容に適切なラベルを配置する必要があります。ラベルがないと、セキュリティシステムによりコンテナ内で実行されるプロセスがコンテンツを使用できなくなる可能性があります。デフォルトでは、Podmanはオペレーティングシステムで設定されているラベルを変更しません。

コンテナコンテキストでラベルを変更するには、2つのサフィックスの1つを追加します。 :紙または:紙ボリュームマウントに。これらのサフィックスは Podman に共有ボリュームのファイルオブジェクトラベルを再割り当てするように指示します。これオプションは、Podman に 2 つのコンテナ間でボリュームの内容を共有するよう指示します。したがって、Podmanは共有コンテンツタグを使用してコンテンツにタグを付けます。共有ボリュームラベルを使用すると、すべてのコンテナがコンテンツを読み書きできます。これオプションは、Podmanにプライベート、非共有タグを使用してコンテンツにタグを付けるように指示します。

これトラブルシューティングページしかし、ほぼ同じ単語で同じ内容を説明します。

今、私はPodmanとSELinuxに初めて触れました。許可エラーが発生すると、おそらくSELinuxが原因である可能性があるため、両方のスイッチのいずれかを使用すると問題が解決します。しかし、2つのオプション(小文字zと大文字Z)の違いは何ですか?

それが言う違いは次のとおりです。

  • :z共有コンテンツラベルの作成
  • :Z非公開、非共有ラベルを作成する

これは多くの新しい単語を紹介します:

  • 共有と共有されていません(これはどういう意味ですか?)
  • ??? vs プライベート
  • また、あるオプションは「コンテンツタグ」であり、他のオプションは「タグ」を意味することが示されている。これら2つの用語の間に違いがありますか、それとも同じですか?

それでは、この文脈でこれらの言葉は何を意味しますか?最後の質問:いつ何を使うべきですか?

ベストアンサー1

「共有」とは、複数のコンテナがボリュームを共有できることを意味し、「非共有」はそうでないことを意味します。詳しくは、:z各コンテナ内のボリュームに適切なラベル()を指定すると、特定のボリュームcontainer_file_tを複数のコンテナ内に並列にマウントでき、そのボリュームがマウントされている実行中のすべてのコンテナからアクセスできます。ホストまたは実行中のコンテナに対するすべての変更は、実行中のすべてのコンテナに表示されます。

また、「プライベート」とは、コンテナ内で使用されるタグがそのコンテナにのみ適用されることを意味します。ファイルシステムレベルには追加の階層がないため、ホストの観点からもコンテンツがプライベートであることを意味します。同じマウントを持つコンテナはそれへのアクセスを共有できません。少なくともPodmanの場合、最後のコンテナが勝利してボリュームにアクセスできる唯一のコンテナです。ここで「プライベート」の反意語は「共有」のようです。これは、ドキュメントに反対の用語(「共有共有タグ」)がない理由を説明します。

「コンテンツタグ」と「ラベル」の間にどのような意味があるのか​​わからない。ただし、そのコンテナで生成されたすべてのコンテンツがホストを含​​むそれに応じてタグ付けされるという意味でない場合は、次のタグがコンテンツとともに表示されます。ファイル:タグcontainer_file_t

バラよりPodmanのこの記事では、違いをさらに詳しく説明します。Dockerにも同じ違いがあります。

おすすめ記事