跳到主要内容

开始使用 Podman

首先要做的事情:安装 Podman

要安装或构建 Podman,请参阅安装说明:

寻求帮助

帮助 & 手册页

有关更多详细信息,您可以查看手册页:

man podman # 获取所有命令的列表
man podman subcommand --help # 获取命令信息

要获得一些帮助并了解 Podman 的工作原理,您可以使用帮助.

podman --help # 获取所有命令的列表 
podman subcommand --help # 获取命令信息

另请参考 Podman 故障排除指南 查找已知问题以及有关如何解决常见配置错误的提示.

搜索、拉取和列出图像

$ podman search httpd 
索引 名称 描述 状态
docker.io docker.io/library/httpd Apache HTTP 服务器项目 3762 [OK]
docker.io docker.io/centos/httpd-24-centos7 运行 Apache 的平台... 40 [OK]
quay.io quay.io/centos7/httpd-24-centos-7 运行 Apache 的平台 0 [OK]
docker.io docker.io/centos/httpd 34 [OK]
redhat.com registry.access.redhat.com/ubi8/httpd 0 [OK]
quay.io quay.io/redhattraining/httpd-parent 0 [OK]



$ podman search httpd --filter=is-official
索引 名称 描述 状态
docker.io docker.io/library/httpd Apache HTTP 服务器项目 3762 [OK]
$ podman pull docker.io/library/httpd
Trying to pull docker.io/library/httpd:latest...
Getting image source signatures
Copying blob ab86dc02235d done
Copying blob ba1caf8ba86c done
Copying blob eff15d958d66 done
Copying blob 635a49ba2501 done
Copying blob 600feb748d3c done
Copying config d294bb32c2 done
Writing manifest to image destination
Storing signatures
d294bb32c2073ecb5fb27e7802a1e5bec334af69cac361c27e6cb8546fdd14e7



$ podman images
索引 名称 描述 状态
docker.io/library/httpd latest d294bb32c207 12 小时前 148 MB

运行容器 & 列出正在运行的容器

此示例容器将运行一个非常基本的 httpd 服务器,仅提供其索引页面.

运行容器

podman run -dt -p 8080:80/tcp docker.io/library/httpd 
注释:

因为容器是以分离模式运行的,这在`podman run`命令中由`-d`表示, Podman 会在后台运行容器,并在执行完命令后打印容器的 ID。 `-t` 选项还会添加一个伪终端 (pseudo-tty) 以便在交互式 shell 中运行任意命令。

此外,我们使用端口转发来访问 HTTP 服务器。 为了成功运行至少需要 slirp4netns v0.3.0

运行容器

podman ps 命令用于列出已创建和正在运行的容器。

podman ps
容器 ID 镜像 命令 创建时间 状态 端口映射 名称
01c44968199f docker.io/library/httpd:latest httpd-foreground 1 分钟前 运行中 1 分钟 0.0.0.0:8080--80/tcp laughing_bob
注释:

如果将 -a 添加到 podman ps 命令中,Podman 将显示所有容器(已创建、已退出、正在运行等).

Testing the httpd container

正如您所看到的,容器没有分配 IP 地址。 可通过本地计算机上的已发布端口访问该容器.

$ curl http://localhost:8080

在另一台机器上,您需要使用主机的 IP 地址来运行容器.

$ curl http://<IP_Address>:8080
注释:

您还可以打开浏览器输入 http://localhost:8080,而不是使用 curl命令.