跳至主要内容

Podman 入门

第一步:安装 Podman

有关安装或构建 Podman 的信息,请参阅安装说明

获取帮助

帮助和手册页

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

$ man podman 
$ man podman subcommand

要获取一些帮助并了解 Podman 的工作原理,您可以使用帮助命令。

$ podman --help # get a list of all commands 
$ podman subcommand --help # get info on a command

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

搜索、拉取和列出镜像

$ podman search httpd 
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/library/httpd The Apache HTTP Server Project 3762 [OK]
docker.io docker.io/centos/httpd-24-centos7 Platform for running Apache h... 40
quay.io quay.io/centos7/httpd-24-centos-7 Platform for running Apache h... 0 [OK]
docker.io docker.io/centos/httpd 34 [OK]
redhat.com registry.access.redhat.com/ubi8/httpd 0
quay.io quay.io/redhattraining/httpd-parent 0 [OK]



$ podman search httpd --filter=is-official
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/library/httpd The Apache HTTP Server Project 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
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/httpd latest d294bb32c207 12 hours ago 148 MB

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

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

运行容器

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

由于容器以分离模式运行(由 podman run 命令中的 -d 表示),Podman 将在后台运行容器,并在执行完命令后打印容器 ID。 -t 还添加了一个伪终端,以便在交互式 shell 中运行任意命令。

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

列出正在运行的容器

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

$ podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
01c44968199f docker.io/library/httpd:latest httpd-foreground 1 minute ago Up 1 minute 0.0.0.0:8080->80/tcp laughing_bob
注意

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

测试 httpd 容器

如您所见,容器没有分配 IP 地址。可以通过本地机器上发布的端口访问该容器。

$ curl https://127.0.0.1:8080

从另一台机器访问时,需要使用运行容器的主机的 IP 地址。

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

除了使用 curl 之外,您还可以将浏览器指向 https://127.0.0.1:8080