第 3 章 构建和管理逻辑绑定的镜像
逻辑绑定的镜像使您可以支持绑定到基本 bootc 镜像生命周期的容器镜像。这有助于组合应用程序和操作系统的不同操作过程,并且容器应用程序映像作为映像文件或等效文件可从基础映像中引用。因此,您可以为系统安装管理多个容器镜像。
您可以将容器用于生命周期绑定的工作负载,如,安全代理和监视工具。您还可以使用 bootc upgrade 命令升级这些工作负载。
3.1. 逻辑绑定镜像简介 复制链接链接已复制到粘贴板!
通过使用逻辑绑定的镜像,您可以将容器镜像关联到基础 bootc 系统镜像。默认情况下,由例如 podman 执行的应用程序容器有一个独立于主机升级的生命周期;它们可以被随时添加或删除,如果容器镜像不存在,通常在启动后按需获取它们。
逻辑绑定的镜像提供了一个关键的好处,即以这种方式绑定的应用程序容器有一个与主机升级关联的生命周期,并在主机重启到新操作系统 之前 可用。只要 bootc 容器引用它们,以这种方式绑定的容器镜像就会存在。
以下是生命周期绑定工作负载示例,这些工作负载通常不会在主机外更新:
- 日志记录,例如 journald→remote log forwarder container
- 监控,如 Prometheus node_exporter
- 配置管理代理
- 安全代理
对于这些类型的工作负载,例如在网络可用之前,容器从引导过程的早期阶段启动通常很重要。逻辑绑定的镜像使您可以以与使用基础 bootc 镜像中二进制文件的 ExecStart= 同样的可靠性来启动容器(通常是通过 systemd)。
术语 逻辑绑定 也可以与另一种物理绑定镜像模型相比较,在物理绑定镜像模型中,应用程序容器内容物理存储在 bootc 容器镜像中。与物理绑定相比,逻辑绑定的一个关键优点是,您可以更新 bootc 系统,而无需重新下载未更改的应用程序容器镜像。
在使用逻辑绑定的镜像时,您必须为系统管理多个容器镜像,以便安装逻辑绑定的镜像。这是一个优点,也是一个缺点。例如,对于断开连接的或离线安装,您必须镜像所有容器,而不仅仅是一个。应用程序镜像仅作为 .image 文件或等同文件从基础镜像引用。
- 逻辑绑定的镜像的安装
-
运行
bootc install时,逻辑绑定的镜像必须在默认的/var/lib/containers容器存储中存在。镜像将被复制到目标系统中,并直接在引导时与 bootc 基础镜像一起存在。 - 逻辑绑定的镜像的生命周期
-
逻辑绑定的镜像被可引导容器引用,并在基于 bootc 的服务器启动时确保可用性。镜像始终通过使用
bootc upgrade来升级,且以只读方式提供给其他进程,如 Podman。 - 对升级、回滚和垃圾回收的逻辑绑定镜像的管理
- 在升级过程中,逻辑绑定的镜像由 bootc 专门管理。
- 在回滚过程中,保留与回滚部署相应的逻辑绑定镜像。
- bootc 执行未使用的绑定镜像的垃圾回收。