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 进行安装,
但是这样安装的版本可能会比较旧。
由于 Podman 是用 Golang 开发的,所有我们也可以直接下载官方编译好的文件来获取最新安装包。
下载解压以后就获得了一个可执行的二进制包,将这个包放到系统目录下,就可以用了。
其他的一些安装方式获取最新的版本
CentOS 7 or 8
版权声明: 本文为 InfoQ 作者【耳东@Erdong】的原创文章。
原文链接:【http://xie.infoq.cn/article/4d64b9157d4caf15d1272dd38】。未经作者许可,禁止转载。
评论