名称¶
podman-volume.unit - 用于使用 Podman Quadlet 管理容器卷的 systemd 单元文件
简介¶
name.container
描述¶
卷文件以 .volume
扩展名命名,并包含描述命名 Podman 卷的 [Volume]
部分。生成的服务是一个一次性命令,用于确保主机上存在该卷,如果需要则创建它。
默认情况下,Podman 卷与单元同名,但带有 systemd-
前缀,即对于名为 $NAME.volume
的卷文件,生成的 Podman 卷名为 systemd-$NAME
,生成的服务文件为 $NAME-volume.service
。VolumeName
选项允许使用用户提供的名称覆盖此默认名称。
使用卷单元允许容器依赖于自动预创建的卷。当使用特殊选项控制卷创建时,这特别有用,因为 Podman 否则会使用默认选项创建卷。
文件位置¶
将 .pod
文件放置在以下位置之一
无根¶
$XDG_RUNTIME_DIR/containers/systemd/
$XDG_CONFIG_HOME/containers/systemd/
或~/.config/containers/systemd/
/etc/containers/systemd/users/$(UID)
/etc/containers/systemd/users/
有根¶
/run/containers/systemd/
/etc/containers/systemd/
/usr/share/containers/systemd/
选项¶
[Volume]
的有效选项如下所示
[Volume] 选项 |
podman volume create 等效项 |
---|---|
ContainersConfModule=/etc/nvd.conf |
--module=/etc/nvd.conf |
Copy=true |
--opt copy |
Device=tmpfs |
--opt device=tmpfs |
Driver=image |
--driver=image |
GlobalArgs=--log-level=debug |
--log-level=debug |
Group=192 |
--opt group=192 |
Image=quay.io/centos/centos:latest |
--opt image=quay.io/centos/centos:latest |
Label=”foo=bar” |
--label “foo=bar” |
Options=XYZ |
--opt “o=XYZ” |
PodmanArgs=--driver=image |
--driver=image |
Type=type |
设备的 文件系统类型 |
User=123 |
--opt uid=123 |
VolumeName=foo |
podman volume create foo |
[Volume]
部分中支持的键是
ContainersConfModule=module
¶
加载指定的 containers.conf(5) 模块。
此选项可以列出多次。
Copy=
(默认为 true
)¶
如果启用,则在第一次运行时将位于卷挂载点的镜像内容复制到卷中。
Device=
¶
为卷挂载的设备的路径。
Driver=
¶
指定卷驱动程序名称。当设置为 image
时,还必须设置 Image
键。
这相当于 Podman --driver
选项。
GlobalArgs=
¶
此键包含在生成文件中直接在 podman
命令之后传递的参数列表。它可以用于访问生成器否则不支持的 Podman 功能。由于生成器不清楚这些参数可能导致的意外交互,因此不建议使用此选项。
其格式是空格分隔的参数列表,可以选择单独转义以允许包含空格和其他控制字符。
此键可以列出多次。
Group=
¶
用于作为卷组的主机(数字)GID 或组名
Image=
¶
当 Driver
设置为 image
时,指定卷所基于的镜像。建议使用完全限定的镜像名称而不是短名称,这既是为了性能也是为了鲁棒性。
名称的格式与传递给 podman pull
时相同。因此,它支持使用 :tag
或摘要来保证特定的镜像版本。
特殊情况
如果镜像的
name
以.image
结尾,Quadlet 将使用由相应的.image
文件拉取的镜像,并且生成的 systemd 服务包含对$name-image.service
(或 .image 文件中设置的服务名称)的依赖。注意:相应的.image
文件必须存在。
Label=
¶
在卷上设置一个或多个 OCI 标签。格式是 key=value
项的列表,类似于 Environment
。
此键可以列出多次。
Options=
¶
用于文件系统的挂载选项,如 mount(8) 命令 -o
选项所用。
PodmanArgs=
¶
此键包含在生成文件中直接传递到 podman
命令末尾的参数列表。它可以用于访问生成器否则不支持的 Podman 功能。由于生成器不清楚这些参数可能导致的意外交互,因此不建议使用此选项。
其格式是空格分隔的参数列表,可以选择单独转义以允许包含空格和其他控制字符。
此键可以列出多次。
Type=
¶
mount(8) 命令 -t
选项所用的 Device
的文件系统类型。
User=
¶
用于作为卷所有者的主机(数字)UID 或用户名
VolumeName=
¶
Podman 卷的(可选)名称。如果未指定,默认值与单元同名,但带有 systemd-
前缀,即 $name.volume
文件创建一个 systemd-$name
Podman 卷,以避免与用户管理的卷冲突。
示例¶
最小卷单元
[Volume]
VolumeName=mydata
Label=app=data
User=1000
Group=1000
由镜像支持的卷单元
[Volume]
VolumeName=html
Driver=image
Image=quay.io/centos/centos:latest
Copy=true
另请参阅¶
systemd.unit(5), podman-volume-create(1), [podman-quadlet(7)]