Podman 是什么

容器化的革命是从 Docker 开始的,Docker 的守护进程管理着所有的事情,并成为最受欢迎和广泛使用的容器管理系统之一。

但是 Docker 并不是唯一有效的容器化方式,除了 Docker 还有其他的工具可选,比如 Podman 。

官方对 Podman 的定义是 A tool for managing OCI containers and pods 。Podman 官方网站 : https://podman.io/Podman 的 GitHub 地址是 : https://github.com/containers/podman

Docker vs Podman

Docker

Docker 是一个容器化平台,在这个平台中,我们可以将我们的应用程序与容器中的库和环境绑定在一起。 Docker Container 在某种程度上类似于虚拟机。

Docker 的两个主要组成模块是: Docker Daemon 和 Docker CLI。

Docker Daemon: 一个常驻的后台进程,帮助管理和创建 Docker 镜像、容器、网络和存储卷。

Docker Engine REST API: 一个应用程序用来与 Docker 守护进程进行交互的 API; 可以通过 HTTP 客户端访问它。

Docker CLI: 一个用来与 Docker 守护进程进行交互的 Docker 命令行客户端,也就是 Docker 命令。

如果换个角度思考,我们可以把下面这些问题与 Docker 联系起来:

众所周知,Docker 运行在单个进程上,这可能会导致单点故障。所有子进程都归属于此进程。无论何时,如果 Docker 守护进程失败,所有子进程都会失去跟踪并进入孤立状态。安全漏洞。对于 Docker 的操作,所有步骤都需要由 root 执行。

Podman

Podman 是一个无守护进程的容器引擎,用于在 Linux 系统上进行开发、管理和运行 OCI Containers。 Containers 能以 root 模式运行,也能以非 root 模式运行。Podman 直接与镜像注册表、容器和镜像存储进行交互。我们知道,Docker 是建立在 runC 容器运行时之上,并且使用了守护进程的; Podman 中没有使用守护进程,而是直接使用 runC 容器运行时。

Podman 不需要启动或管理像 Docker daemon 那样的守护进程。适用于 Docker 的命令在 Podman 中也是同样可用的。您可以指定命令别名:alias docker=podmanPodman 和 Docker 的镜像具有兼容性。

Podman 安装

Podman 可以运行在 Windows 、Linux 、macOS 。

在 CentOS 7 上可以直接使用 yum 进行安装,

yum install podman

但是这样安装的版本可能会比较旧。

由于 Podman 是用 Golang 开发的,所有我们也可以直接下载官方编译好的文件来获取最新安装包。

wget https://github.com/containers/podman/releases/download/v2.2.1/podman-remote-static.tar.gz

下载解压以后就获得了一个可执行的二进制包,将这个包放到系统目录下,就可以用了。

其他的一些安装方式获取最新的版本

CentOS 7 or 8

# CentOS 7
sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/CentOS_7/devel:kubic:libcontainers:stable.repo
sudo yum -y install podman


# CentOS 8
sudo dnf -y module disable container-tools
sudo dnf -y install 'dnf-command(copr)'
sudo dnf -y copr enable rhcontainerbot/container-selinux
sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/CentOS_8/devel:kubic:libcontainers:stable.repo
sudo dnf -y install podman
sudo dnf -y update


# CentOS Stream
sudo dnf -y module disable container-tools
sudo dnf -y install 'dnf-command(copr)'
sudo dnf -y copr enable rhcontainerbot/container-selinux
sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/CentOS_8_Stream/devel:kubic:libcontainers:stable.repo
sudo dnf -y install podman
sudo dnf -y update

安装方式大全集 https://podman.io/getting-started/installation

本文文字及图片出自 InfoQ

余下全文(1/3)
分享这篇文章:

请关注我们:

发表评论

邮箱地址不会被公开。 必填项已用*标注