在现代容器化技术中,Podman 正逐渐成为 Docker 的有力替代者。尤其在 RockyLinux 系统上,Podman 提供了一种更安全、更轻量的容器运行方式——无需后台守护进程(daemonless)。本教程将手把手教你如何在 RockyLinux 上使用 Podman 启动和管理无守护进程容器,即使你是完全的小白,也能轻松上手!
什么是“无守护进程容器”?
传统容器引擎(如 Docker)依赖一个长期运行的后台服务(即 daemon)来管理容器。而 Podman 采用“无守护进程”(daemonless)架构,每个容器都直接由用户会话启动,不依赖中央守护进程。这不仅提升了安全性(减少攻击面),还支持以普通用户身份运行容器(rootless 模式)。
为什么选择 RockyLinux + Podman?
RockyLinux 是 RHEL(Red Hat Enterprise Linux)的社区版,稳定且企业级兼容。而 Podman 由 Red Hat 主导开发,天然集成于 RockyLinux,是官方推荐的容器工具。二者结合,既能享受企业级稳定性,又能体验现代化、安全的容器技术。
第一步:在 RockyLinux 上安装 Podman
首先,确保你的系统是最新的:
sudo dnf update -y
然后安装 Podman:
sudo dnf install -y podman
安装完成后,验证版本:
podman --version
第二步:运行你的第一个无守护进程容器
我们以运行一个简单的 Nginx Web 服务器为例:
podman run -d --name my-nginx -p 8080:80 docker.io/library/nginx
参数说明:
-d:后台运行容器(detached 模式) --name my-nginx:为容器指定名称 -p 8080:80:将主机的 8080 端口映射到容器的 80 端口 docker.io/library/nginx:使用的镜像来源(Podman 兼容 Docker 镜像仓库) 打开浏览器,访问 http://你的服务器IP:8080,你将看到 Nginx 欢迎页面!
第三步:查看与管理容器
列出正在运行的容器:
podman ps
停止并删除容器:
podman stop my-nginxpodman rm my-nginx
第四步:以普通用户运行(Rootless 模式)
Podman 支持 rootless 模式,无需 sudo 即可运行容器,极大提升安全性。只需切换到普通用户(例如 rockyuser),然后重复上述命令即可:
# 切换到普通用户(如果尚未登录)su - rockyuser# 直接运行容器(无需 sudo)podman run -d --name my-app -p 8081:80 nginx
注意:rootless 模式下端口需大于 1024(如 8081),因为普通用户无法绑定 1024 以下的特权端口。
总结
通过本教程,你已经掌握了在 RockyLinux 上使用 Podman 运行 无守护进程容器 的基本技能。这种架构不仅更安全、更轻量,还完美支持 rootless 模式,是现代 容器化技术 的理想选择。
现在,你可以尝试部署自己的应用容器,或进一步学习 Podman 的高级功能(如 Pod 管理、构建镜像等)。容器世界的大门,已经为你打开!
