14.4. 与 podman generate systemd 命令相比,使用 Quadlets 的优点


您可以使用 Quadlets 工具,它描述了如何以类似于常规 systemd 单元文件的格式运行容器。

注意

Quadlet 从 Podman v4.6 开始提供。

与使用 podman generate systemd 命令生成的单元文件相比,Quadlets 有很多优点,例如:

  • 易于维护 :容器描述侧重于相关的容器详情,隐藏在 systemd 下运行容器的技术详情。
  • 自动更新 :在更新后,Quadlet 不需要手动重新生成单元文件。如果发布了新版本的 Podman,则在 systemclt daemon-reload 命令执行时会自动更新您的服务,例如在引导时。
  • 简化的工作流 :由于简化的语法,您可以从头开始创建 Quadlet 文件,并在任何位置部署它们。
  • 支持标准 systemd 选项 :Quadlet 使用新表扩展了现有的 systemd-unit 语法,例如用于配置容器的表。
注意

Quadlet 支持 Kubernetes YAML 功能的子集。如需更多信息,请参阅 支持的 YAML 字段的支持矩阵。您可以使用以下工具之一生成 YAML 文件:

  • podman: podman generate kube 命令
  • OpenShift: 带有 --dry-run 选项的 oc generate 命令
  • Kubernetes: 带有 --dry-run 选项的 kubectl create 命令

Quadlet 支持以下单元文件类型:

  • 容器单元 :用于通过运行 podman run 命令管理容器。

    • 文件扩展名:.container
    • 部分名称:[Container]
    • 必填字段:Image 描述服务运行的容器映像
  • Kube units:用于通过运行 podman kube play 命令管理 Kubernetes YAML 文件中定义的容器。

    • 文件扩展名:.kube
    • 部分名称:[Kube]
    • 必填字段:YAML 定义 Kubernetes YAML 文件的路径
  • Network units :用于创建可能在 .container.kube 文件中引用的 Podman 网络。

    • 文件扩展名:.network
    • 部分名称:[Network]
    • 必填字段:None
  • Volume units :用于创建可能在 .container 文件中引用的 Podman 卷。

    • 文件扩展名:.volume
    • 部分名称:[Volume]
    • 必填字段:None
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat