当前位置:首页 > Ubuntu > 正文

Ubuntu上使用Podman容器引擎(零基础入门:轻松部署无守护进程的轻量级容器)

在当今容器化技术盛行的时代,Docker 是最广为人知的容器引擎。然而,对于追求安全、轻量和无需后台守护进程(daemonless)架构的用户来说,Podman 是一个非常优秀的替代方案。本文将手把手教你如何在 Ubuntu 系统上安装并使用 Podman 容器引擎,即使你是完全的新手,也能轻松上手!

Ubuntu上使用Podman容器引擎(零基础入门:轻松部署无守护进程的轻量级容器) Ubuntu Podman容器引擎 Podman安装教程 无守护进程容器运行 轻量级容器管理 第1张

什么是 Podman?

Podman(Pod Manager)是一个开源的容器管理工具,由 Red Hat 主导开发。它兼容 Docker CLI 命令,但最大的特点是:无需运行后台守护进程。这意味着每个容器都是直接由用户会话启动的独立进程,安全性更高,资源占用更少,非常适合开发、测试甚至生产环境。

此外,Podman 支持 rootless(无 root 权限)运行容器,进一步提升了系统的安全性——这也是我们推荐在 Ubuntu 上使用 Ubuntu Podman容器引擎 的重要原因。

第一步:在 Ubuntu 上安装 Podman

我们以 Ubuntu 22.04 LTS 为例(其他较新版本操作类似)。请打开终端(Ctrl+Alt+T),依次执行以下命令:

# 更新系统软件包列表sudo apt update# 安装必要的依赖sudo apt install -y software-properties-common# 添加官方 Podman PPA 仓库(确保获取最新版)sudo add-apt-repository -y ppa:projectatomic/ppa# 再次更新sudo apt update# 安装 Podmansudo apt install -y podman

安装完成后,验证是否成功:

podman --version

如果看到类似 podman version 4.x.x 的输出,说明安装成功!

第二步:运行你的第一个容器

Podman 的命令与 Docker 高度兼容。例如,运行一个 Nginx Web 服务器容器:

podman run -d --name my-nginx -p 8080:80 docker.io/library/nginx:latest

参数说明:

  • -d:后台运行容器
  • --name my-nginx:给容器命名
  • -p 8080:80:将主机的 8080 端口映射到容器的 80 端口
  • docker.io/library/nginx:latest:指定镜像来源(Podman 默认从 Docker Hub 拉取)

现在打开浏览器,访问 http://localhost:8080,你应该能看到 Nginx 的欢迎页面!

第三步:常用 Podman 命令速查

以下是一些你可能会频繁使用的命令:

# 查看正在运行的容器podman ps# 查看所有容器(包括已停止的)podman ps -a# 停止容器podman stop my-nginx# 启动已停止的容器podman start my-nginx# 删除容器podman rm my-nginx# 列出本地镜像podman images# 拉取镜像(不运行)podman pull alpine# 进入容器内部(交互式)podman exec -it my-nginx /bin/bash

第四步:启用 Rootless 模式(推荐)

Podman 最强大的特性之一是支持普通用户(非 root)运行容器。这不仅更安全,也避免了权限问题。

默认情况下,Ubuntu 安装的 Podman 已支持 rootless 模式。你可以直接以普通用户身份运行容器:

# 无需 sudo,直接运行podman run -d --name my-app -p 8081:80 nginx

注意:在 rootless 模式下,端口号必须大于 1024(如 8080、8081),因为小于 1024 的端口需要 root 权限。

总结

通过本教程,你已经掌握了在 Ubuntu 系统上安装和使用 Podman 容器引擎 的基本方法。相比 Docker,Podman 提供了 无守护进程容器运行 的架构,更安全、更轻量,且完全兼容现有 Docker 工作流。

无论你是开发者、运维工程师,还是 Linux 爱好者,尝试使用 轻量级容器管理 工具 Podman 都将为你带来更高效、更安全的容器体验。快去试试吧!

如果你觉得这篇 Podman安装教程 对你有帮助,欢迎分享给更多朋友!