podman挂在卷笔记
在 Podman 中,:ro 和 :Z 是卷挂载的选项,用于控制挂载行为。
:ro 的含义
- read-only 的缩写,表示只读挂载
- 容器内对该目录只有读权限,无法修改
- 是可选的,不写默认为
rw(读写)
:Z 的含义
- SELinux 上下文标签选项
- 告诉 Podman 自动给挂载的目录打上合适的 SELinux 标签,让容器能访问
- 主要用于启用 SELinux 的系统(如 RHEL、CentOS、Fedora)
- 如果不加
:Z,SELinux 可能会阻止容器访问宿主机目录
组合使用示例
podman run -v /host/path:/container/path:ro,Z必须写吗?
- 都不是必须的
- 如果不需要只读,可以省略
:ro - 如果 SELinux 未启用或不需要特殊标签,可以省略
:Z
必须大写吗?
:ro必须小写(read-only 的缩写):Z必须大写(Z 是特定选项,大小写敏感)- 另外还有
:z(小写)表示共享标签,允许多个容器共享同一个挂载
选项对照
| 选项 | 含义 | 大小写 |
|---|---|---|
:ro | 只读 | 小写 |
:rw | 读写(默认) | 小写 |
:Z | 私有 SELinux 标签 | 大写 |
:z | 共享 SELinux 标签 | 小写 |
何时需要 :Z 或 :z
:Z:该挂载只被这一个容器使用(私有):z:该挂载可能被多个容器共享
如果你的系统没有启用 SELinux(可以用 getenforce 检查),这些 :Z/:z 选项可以省略。