什么是 Podman 以及如何在 Linux 中安装 Podman

本指南解释了什么是 Podman、它的特性、Podman 容器和镜像之间的区别,以及如何在 Linux 操作系统中安装 Podman。

内容

  1. 什么是波德曼?
  2. 容器与图像
  3. 在 Linux 中安装 Podman
    1. 在线使用 Podman
  4. 结论

什么是波德曼?

Podman,代表 POD MANAGER,是一个命令行开源容器管理实用程序,基于 libmod 图书馆。

Podman 允许您创建、开发和管理 Open Container Initiative (OCI) 容器和映像、安装到这些容器中的卷以及从容器组创建的 pod。

Podman 用法与 Docker 相同

Podman 类似于 码头工人 在使用方面。 Podman 提供了与 Docker 相同的一组命令。 如果你已经熟悉 Docker,你不会觉得有太大的不同。

Podman 还支持 REST API,提供与 Docker 兼容的接口以及暴露高级 Podman 功能的改进接口。

尽管 Podman 提供了与 Docker 类似的接口,但它还是有一些区别。 两个显着的特点是: 无根模式豆荚.

无根模式

与 Docker 不同,Podman 不需要守护进程。 它是一个无守护(无根)容器管理工具。

Podman 不需要超级用户权限来运行容器。 容器可以作为 root 或作为普通用户在无根模式下。

当您以非 root 用户身份运行 Podman 时,它会创建一个用户命名空间,在其中获取 root 权限。 这允许它挂载文件系统并设置所需的容器。 换句话说,Podman 容器使用用户命名空间将容器中的 root 设置为运行 Podman 的用户。

运行无根 Podman 可提高安全性。 即使容器引擎或运行时受到损害,因为攻击者不会对您的系统拥有 root 权限。

它还允许多个非特权用户在同一台​​机器上运行容器。 Docker 现在有 无根的 模式支持。 但是,Podman 在 Docker 之前就有这个功能。

豆荚

Podman 的另一个显着优势是您可以创建容器组。 我们称它们为 Pod。 在 Podman 中,容器可以形成一起运行的“豆荚”。

Podman 为管理多个容器(即 Pod)提供了很好的支持。 此功能在其他容器运行时工具中不可用。

OCI 兼容图像

Podman 创建的镜像遵循 OCI 标准,因此 Podman 镜像与 Docker 等其他容器运行时工具完全兼容。

您可以在容器注册中心发布新构建的镜像,例如 转动 或者 码头枢纽 与世界分享它们。 任何人都可以下载、使用它们,甚至改进它们。

系统就绪

Podman 在构建时考虑到了 systemd。 含义 – Podman 可以通过 systemd 单元进行控制。 它还支持容器中的 systemd,开箱即用。

免费和开源!

Podman 是由 Red Hat 开发的免费的 Linux 原生工具,它应该可以在其他 Linux 发行版上完美运行。

在我们安装 Podman 之前,让我简要介绍一下镜像和容器。 这两者密切相关,但又截然不同。

容器与图像

Image 是决定 Container 行为的文件,Container 是 Image 的运行或停止阶段。

您可以使用同一个镜像运行多个容器。 容器与主机的其余文件隔离。

当我们运行一个容器时,它使用一个由镜像提供的隔离文件系统。 映像包含运行应用程序所需的一切 – 所有依赖项、配置、脚本、二进制文件等。

镜像还包含容器的其他配置,例如环境变量、要运行的默认命令和其他元数据。

以下摘自 Docker 官方文档提供了对容器和图像的清晰简洁的解释。

容器和图像之间的主要区别在于顶部可写层。 容器正在运行具有顶级可写层的 Docker 镜像实例。 容器运行实际的应用程序。 容器包括应用程序及其所有依赖项。 当容器被删除时,可写层也被删除。 底层图像保持不变

https://docs.docker.com/storage/storagedriver/#container-and-layers

您可以使用列出本地可用的图像 podman images 命令和容器使用 podman ps 命令。 我们将在即将发布的指南中了解有关 Podman 命令的更多信息。

在 Linux 中安装 Podman

Podman 预装在 Fedora 核心操作系统, Fedora 银蓝和 Fedora 34. 如果您使用这些发行版中的任何一个,则不需要安装 Podman。

Podman 被打包用于许多现代 Linux 操作系统,并在默认存储库中可用。

要在 Alpine Linux 中安装 Podman,请运行:

$ sudo apk add podman

在 Arch Linux、EndeavourOS 和 Manjaro Linux 中安装 Podman:

$ sudo pacman -S podman

在 Debian、Ubuntu、Pop_OS 中安装 Podman!:

$ sudo apt install podman

在 CentOS 8 中安装 Podman, Fedora 33 及更早版本、RHEL 8、AlmaLinux 8 和 Rocky Linux 8:

$ sudo dnf install podman

在 openSUSE 中安装 Podman:

$ sudo zypper install podman

要检查已安装的 Podman 版本,请运行:

$ podman -v podman version 3.2.2

阅读下一篇:

通过实际示例了解 Podman 基础知识以及如何在 Linux 中开始使用 Podman:

  • Podman 教程 – Podman 入门

在线使用 Podman

如果您没有 Linux 或不想安装 Podman,您可以使用 Katacoda,这是一个在线平台,提供许多沙箱环境来学习和体验不同类型的技术。

要直接从浏览器使用 Podman,而无需在系统上安装它,请转到以下链接。

  • Podman 在线与 Katacoda.

结论

在这个简短的指南中,我们了解了什么是 Podman 以及它与其他容器运行时(如 Docker)有何不同。 我们还讨论了 Container 和 Image 之间的区别。 最后,我们看到了如何在各种 Linux 发行版中安装 Podman。

资源:

  • Podman 网站
  • Podman GitHub 存储库

CLI命令行工具容器DevOps安装PodmanLinuxLinux基础Linux命令Linux容器开源OpensourcePod ManagerPodmanPodman命令Red HatVirtualization