名称

podman-quadlet-install - 安装 Quadlet 文件或 Quadlet 应用程序

简介

podman quadlet install [选项] quadlet-路径或网址 [文件-路径或网址]…

描述

为当前用户安装 Quadlet 文件或应用程序(可能包含多个 Quadlet 文件)。您可以指定本地文件或网络网址形式的 Quadlet 文件。

此命令允许您

* Install a single Quadlet file, optionally followed by additional non-Quadlet files.

* Specify a directory containing multiple Quadlet files and other non-Quadlet files for installation (for example a config file for a quadlet container).

* Install multiple Quadlets from a single file with the `.quadlets` extension, where each Quadlet is separated by a `---` delimiter. When using multiple quadlets in a single `.quadlets` file, each quadlet section must include a `# FileName=<name>` comment to specify the name for that quadlet.

注意:应用程序是需要共同存放的一组文件(包括 Quadlet 和非 Quadlet 文件)的集合。因此,移除作为应用程序一部分的 Quadlet 将会移除整个应用程序。当从目录安装 Quadlet 时,从该目录安装的所有文件(包括 Quadlet 和非 Quadlet 文件)均被视为单个应用程序的一部分。

注意:当从单个 .quadlets 文件安装多个 Quadlet 时,只有在使用 --application 选项提供应用程序名称时,它们才会被视为同一应用程序的一部分。

选项

--application=字符串

您可以指定一个应用程序名称,所有文件都将安装在以该应用程序名称命名的目录下。指定目录路径时,必须提供应用程序名称。应用程序名称不能以 Quadlet 扩展名作为后缀。例如 foo.container 不是有效的应用程序名称。

--reload-systemd

操作完成后重新加载 systemd(默认值为 true)。若要禁用此功能,用户需要手动将此标志的值设置为 false

--replace, -r

即使生成的单元文件(unit file)已存在,也替换 Quadlet 安装(默认值为 false)。若要启用此功能,用户需要手动将此标志的值设置为 true。此标志主要用于更新现有的单元。

示例

从文件安装 Quadlet。

$ podman quadlet install test-service-quadlet.container
/home/user/.config/containers/systemd/test-service-quadlet.container

从目录安装 Quadlet。

$ podman quadlet install --application=foo /home/user/work/quadlet-app/
/home/user/.config/containers/systemd/myquadlet1.container
/home/user/.config/containers/systemd/myquadlet2.container
/install/path/myquadlet1.container
/install/path/myquadlet2.container

从网址安装 Quadlet

$ podman quadlet install https://github.com/containers/podman/blob/main/test/e2e/quadlet/basic.container
/home/user/.config/containers/systemd/basic.container

从单个 .quadlets 文件安装多个 Quadlet

$ cat webapp.quadlets
# FileName=web-server
[Container]
Image=nginx:latest
ContainerName=web-server
PublishPort=8080:80
---
# FileName=app-storage
[Volume]
Label=app=webapp
---
# FileName=app-network
[Network]
Subnet=10.0.0.0/24

$ podman quadlet install webapp.quadlets
/home/user/.config/containers/systemd/web-server.container
/home/user/.config/containers/systemd/app-storage.volume
/home/user/.config/containers/systemd/app-network.network

注意:多 Quadlet 功能需要使用 .quadlets 文件扩展名。其他扩展名的文件将仅作为单个 Quadlet 或资源文件处理。

另请参阅

podman(1), podman-quadlet(1), podman-systemd.unit(5)