13 容器编制 #
13.1 使用 Podman 部署 Pod #
除了构建和管理映像外,使用 Podman 还可以处理 Pod。Pod 是由包含共享资源(例如网络接口)的一个或多个容器构成的组。Pod 通常会将包含多个容器的应用程序封装成一个单元。
podman pod
可用于创建、删除、查询和检查 Pod。要创建新 Pod,请运行 podman pod create
命令。这会创建一个具有随机名称的 Pod。要列出现有的 Pod,请使用 podman pod list
命令。要查看正在运行的 Pod 列表,请运行 podman ps -a --pod
。该命令的输出如下所示(为简洁起见,已省略 STATUS
和 CREATED
列):
POD ID NAME # OF CONTAINERS INFRA ID 399a120a09ff suspicious_curie 1 e57820093817
请注意,该命令为 Pod 指派了一个随机名称(在本例中为 suspicious_curie
)。可以使用 --name 参数为 Pod 指派所需的名称。
要检查 Pod 及其内容,请运行 podman ps -a --pod
命令,然后查看输出(为简洁起见,已省略 COMMAND
、CREATED
、STATUS
、PORTS
和 POD ID
列):
CONTAINER ID IMAGE NAMES PODNAME e57820093817 k8s.gcr.io/pause:3.2 399a120a09ff-infra suspicious_curie
创建的 Pod 包含一个通过 k8s.gcr.io
名称标识的 infra
容器。此容器的用途是保留与 Pod 关联的名称空间,并使 Podman 能够在 Pod 中添加其他容器。
使用 podman run --pod
命令可以运行容器并将其添加到所需的 Pod。例如,下面的命令会运行一个基于 suse/sle15
映像的容器,并将该容器添加到 suspicious_curie
Pod:
podman run -d --pod suspicious_curie registry.suse.com/suse/sle15 sleep 1h
上面的命令会添加一个休眠 60 分钟然后退出的容器。再次运行 podman ps -a --pod
命令,您应该会看到该 Pod 现在包含两个容器。
您可以重启动、停止和启动 Pod 中的容器,而不会影响该 Pod 的整体状态。例如,可以使用 sudo podman stop CONTAINER_NAME
命令停止容器。
要停止 Pod,请使用 podman pod stop
命令:
podman pod stop suspicious_curie