什么是 Podman?
Podman是一个无守护程序、开源的 Linux 原生工具,旨在使用 Open Containers Initiative ( OCI )容器和容器映像轻松查找、运行、构建、共享和部署应用程序。Podman 提供了任何使用过 Docker容器引擎的人都熟悉的命令行界面 (CLI) 。大多数用户可以简单地将 Docker 别名为 Podman(别名 docker=podman)而不会出现任何问题。与其他常见的容器引擎(Docker、CRI-O、containerd)类似,Podman 依赖于符合 OCI 的容器运行时(runc、crun、runv 等)与操作系统交互并创建正在运行的容器。这使得 Podman 创建的正在运行的容器与任何其他常见容器引擎创建的容器几乎没有区别。
Podman 控制下的容器可以由 root 或非特权用户运行。Podman 使用libpod库管理整个容器生态系统,包括 pod、容器、容器映像和容器卷。Podman 专注于帮助您维护和修改 OCI 容器镜像的所有命令和功能,例如拉取和标记。它允许您在生产环境中创建、运行和维护这些容器和容器映像。
有一个 RESTFul API 来管理容器。我们还有一个可以与 RESTFul 服务交互的远程 Podman 客户端。我们目前支持 Linux、Mac 和 Windows 上的客户端。RESTFul 服务仅在 Linux 上受支持。
Podman安装方法
这里是RHEL8的安装方法,如果是其他的系统安装请参考官方的安装方式
https://podman.io/getting-started/installation 官网的安装推荐讲解网址
#查看yum源仓库是否有podman的软件包
[root@localhost ~]# dnf list all | grep podman
cockpit-podman.noarch 33-1.module_el8.5.0+890+6b136101 @AppStream
podman.x86_64 3.3.1-9.module_el8.5.0+988+b1f0b741 @AppStream
podman-catatonit.x86_64 3.3.1-9.module_el8.5.0+988+b1f0b741 @AppStream
python3-podman.noarch 3.2.0-2.module_el8.5.0+890+6b136101 @AppStream
pcp-pmda-podman.x86_64 5.3.1-5.el8 AppStream
podman-docker.noarch 3.3.1-9.module_el8.5.0+988+b1f0b741 AppStream
podman-gvproxy.x86_64 3.3.1-9.module_el8.5.0+988+b1f0b741 AppStream
podman-plugins.x86_64 3.3.1-9.module_el8.5.0+988+b1f0b741 AppStream
podman-remote.x86_64 3.3.1-9.module_el8.5.0+988+b1f0b741 AppStream
podman-tests.x86_64 3.3.1-9.module_el8.5.0+988+b1f0b741 AppStream
#安装
[root@localhost ~]# dnf -y install podman-docker --allowerasing
#查看是否有podman的配置
[root@localhost ~]# which podman
/usr/bin/podman
[root@localhost ~]#
#由于seccomp安装时不是最新的版本,这是需要安装最新的版本
[root@localhost ~]# rpm -qa | grep seccomp
libseccomp-2.4.3-1.el8.x86_64
[root@localhost ~]#
[root@localhost ~]# yum list all | grep seccomp
libseccomp.x86_64 2.4.3-1.el8 @anaconda
libseccomp.i686 2.5.2-1.el8 baseos
libseccomp.x86_64 2.5.2-1.el8 baseos
libseccomp-devel.i686 2.5.2-1.el8 appstream
libseccomp-devel.x86_64 2.5.2-1.el8 appstream
oci-seccomp-bpf-hook.x86_64 1.2.3-3.module_el8.6.0+926+8bef8ae7 appstream
[root@localhost ~]#
#对libseccomp进行升级
[root@localhost ~]# yum -y update libseccomp
#这里显示conmon不是最新版本,安装最新版本
[root@localhost ~]# podman images
WARN[0000] Conmon at /usr/bin/conmon invalid: outdated conmon version
WARN[0000] Conmon at /usr/bin/conmon is invalid: outdated conmon version
Error: please update to v2.0.24 or la