写点什么

Podman 是什么

作者:耳东@Erdong
  • 2021 年 11 月 16 日
  • 本文字数:1600 字

    阅读完需:约 5 分钟

容器化的革命是从 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 7sudo 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.reposudo yum -y install podman
# CentOS 8sudo dnf -y module disable container-toolssudo dnf -y install 'dnf-command(copr)'sudo dnf -y copr enable rhcontainerbot/container-selinuxsudo 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.reposudo dnf -y install podmansudo dnf -y update
# CentOS Streamsudo dnf -y module disable container-toolssudo dnf -y install 'dnf-command(copr)'sudo dnf -y copr enable rhcontainerbot/container-selinuxsudo 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.reposudo dnf -y install podmansudo dnf -y update
复制代码


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

发布于: 3 小时前阅读数: 5
用户头像

耳东@Erdong

关注

还未添加个人签名 2020.05.24 加入

主要研究分享运维技术,专注于监控、CICD、操作系统、云原生领域,公众号【耳东学堂】,知识星球同名,坚持原创,希望能和大家在运维路上结伴而行 邮箱:erdong@mail.erdong.site

评论

发布
暂无评论
Podman是什么