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
你也许感兴趣的:
- 【外评】电脑从哪里获取时间?
- 【外评】为什么 Stack Overflow 正在消失?
- Android 全力押注 Rust,Linux 却在原地踏步?谷歌:用 Rust 重写固件太简单了!
- 【外评】哪些开源项目被广泛使用,但仅由少数人维护?
- 【外评】好的重构与不好的重构
- C 语言老将从中作梗,Rust for Linux 项目内讧升级!核心维护者愤然离职:不受尊重、热情被消耗光
- 【外评】代码审查反模式
- 我受够了维护 AI 生成的代码
- 【外评】Linux 桌面市场份额升至 4.45
- 【外评】作为全栈开发人员如何跟上 AI/ML 的发展?
你对本文的反应是: