Linux 上的 Podman 容器初学者指南

在谈论技术的未来时,许多经验丰富的技术人员都知道虚拟化和容器化就是这条路。 它们允许更高的应用程序和服务安全性,并且可以通过其他服务轻松管理它们,这些服务允许快照、模板和比您使用每个应用程序一个服务器模型获得的更大的定制。 但是,您应该如何开始使用虚拟化和容器化并不总是很清楚。 我们之前已经多次讨论过 Linux、Windows 和 macOS 上的虚拟化,但容器化往往有点不同。 我们在本文中为您提供 Linux 上 Podman 的初学者指南,这是一个很棒的容器化工具。

什么是容器?

容器本质上是小型虚拟机——但仅用于应用程序。 它们使用许多相同的概念,并具有许多相同的安全性和易用性功能,但它们要小得多,并且可以轻松成像和分发应用程序。 这是 Flatpaks 和 Snaps 的很多基础。 您可以开始看到相似之处:一个程序,多个在隔离环境中运行的应用程序。

什么是 Podman?

我们中的许多人都听说过 Docker,容器引擎的 OG。 波德曼 是一个类似的容器引擎,它使用与 Docker 非常相似的结构,但有几个关键区别。

一是 Podman 是无守护进程的,而 Docker 依赖于守护进程。 这意味着 Podman 容器可以在没有根级别权限的情况下工作,从而提供更高的安全性和灵活性。 在用户级别运行的容器意味着用户只能看到他们的容器,而不能看到其他人的。 由于架构更简单,Podman 占用的系统资源更轻,从而带来更愉快的体验。

无守护程序架构导致称为无根容器的东西。 这是一个基于先前差异但侧重于安全性的概念。 如果攻击者破坏了您的容器并出于任何原因设法逃脱,他们只有基本用户权限而不是 root 权限。 这需要一些额外的设置才能开始,目前存在一些缺点,但值得一看。

安装 Podman

对于大多数发行版,Podman 位于主存储库中,使其成为一个简单的安装命令:

使用 Podman

启动 Podman 容器的命令语法可能有点混乱,但是一旦你开始掌握它,你就会开始识别模式。 项目中有一个示例容器,您可以通过在终端中输入以下命令来运行它:

这将从列出的注册表中提取一些图像,一旦完成,您将获得一个长数字。 当您检查正在运行的容器时,您最终会看到这一点。

要检查正在运行的 Podman 容器,请输入以下命令:

波德曼 PS

您将看到之前启动的容器。 这确认它正在运行。 但是,如果您想专门查看该网页 Apache 正在运行,您将运行以下命令:

更换 0.0.0.0 运行时显示的任何 IP 地址 podman ps 命令。 您应该得到一堆乱码的 HTML,但如果您直接看顶部,您会注意到 HTML 中标题的语法,并且知道它正在工作。

波德曼图片

Podman 的优点是使用图像。 您可以搜索其他图像,例如 httpd 或您有兴趣运行的其他程序。

我搜索过 vncserver,这就是我得到的。 您可以看到有很多选择,这取决于您的个人喜好。

播客搜索

要获取其中一张图像,请运行 podman pull 命令。

建议您提取容器注册表的完整 url 以完全准确。 作为一个 example,我正在运行的命令是:

而不仅仅是跑步 podman pull vncserver 因为可能会选择我不想要的图像而不是我想要的图像。

波德曼拉

您还可以使用以下命令检查图像:

并使用以下命令停止容器:

-l flag 表示它将停止最新运行的容器,但您也可以使用 -a 标志停止所有容器。

您可能已经注意到 Podman 还可以查看 docker.io 以获取容器映像。 这是因为 Podman 命令和 Docker 命令本质上是相同的——以至于有时建议将 docker 命令 podman 像这样:

这意味着任何时候你进入 docker,您的机器将运行 podman 无论如何命令。

无根播客

要为无根容器设置系统,需要进行相当多的设置,但是关于它们的文档有很多 Github页面.

我希望您喜欢 Podman 入门,这是一个很棒的小工具,可让您运行无守护进程、无根容器,以保持系统精简、整洁和安全。 如果您这样做了,请务必查看我们的其他一些容器内容,例如我们关于在 ChromeOS 的容器中运行 Ubuntu、将 Docker 容器复制到另一台主机以及限制 Docker 容器资源的指南。

订阅我们的新闻!

我们的最新教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅