第 10 章 使用 pod
容器是您可以使用 Podman、Skopeo 和 Buildah 容器工具管理的最小单元。Podman pod 是一个或多个容器的组。Pod 概念是由 Kubernetes 引入的。podman pod 与 Kubernetes 定义类似。Pod 是您可以在 OpenShift 或 Kubernetes 环境中创建、部署和管理的最小计算单元。每个 Podman pod 都包括一个 infra 容器。此容器包含与 pod 关联的命名空间,允许 Podman 将其他容器连接到 pod。它允许您在 pod 中启动和停止容器,pod 将保持运行。registry.access.redhat.com/ubi9/pause
镜像上的默认 infra 容器。
10.1. 创建 pod
您可以创建具有一个容器的 pod。
先决条件
-
container-tools
元数据包已安装。
流程
创建空 pod:
$ podman pod create --name mypod 223df6b390b4ea87a090a4b5207f7b9b003187a6960bd37631ae9bc12c433aff The pod is in the initial state Created.
pod 处于 Created 的初始状态。
可选:列出所有 pod:
$ podman pod ps POD ID NAME STATUS CREATED # OF CONTAINERS INFRA ID 223df6b390b4 mypod Created Less than a second ago 1 3afdcd93de3e
请注意,pod 有一个容器。
可选:列出与其关联的所有 pod 和容器:
$ podman ps -a --pod CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD 3afdcd93de3e registry.access.redhat.com/ubi9/pause Less than a second ago Created 223df6b390b4-infra 223df6b390b4
您可以看到
podman ps
命令中的 pod ID 与podman pod ps
命令中的 pod ID 匹配。默认 infra 容器基于registry.access.redhat.com/ubi9/pause
镜像。在名为
mypod
的现有 pod 中运行名为myubi
的容器:$ podman run -dt --name myubi --pod mypod registry.access.redhat.com/ubi9/ubi /bin/bash 5df5c48fea87860cf75822ceab8370548b04c78be9fc156570949013863ccf71
可选:列出所有 pod:
$ podman pod ps POD ID NAME STATUS CREATED # OF CONTAINERS INFRA ID 223df6b390b4 mypod Running Less than a second ago 2 3afdcd93de3e
您可以看到 pod 有两个容器。
可选:列出与其关联的所有 pod 和容器:
$ podman ps -a --pod CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD 5df5c48fea87 registry.access.redhat.com/ubi9/ubi:latest /bin/bash Less than a second ago Up Less than a second ago myubi 223df6b390b4 3afdcd93de3e registry.access.redhat.com/ubi9/pause Less than a second ago Up Less than a second ago 223df6b390b4-infra 223df6b390b4
其他资源
-
您系统上的
podman-pod-create
手册页 - Podman:在本地容器运行时中管理 pod 和容器