RockyLinux9 By SystemArch_Alex

Rocky Linux 9 基礎教學 (19):Podman 容器技術基礎與實戰

邁向無守護進程的容器時代

在 Rocky Linux 9 中,官方推薦的容器引擎不再是 Docker,而是 Podman。Podman 的最大特色在於其「無守護進程 (Daemonless)」架構,且原生支援「非 Root 模式 (Rootless)」,這大幅提升了系統的安全性。

1. 安裝 Podman

Rocky Linux 9 預設安裝了容器工具集:

sudo dnf install podman -y
podman --version
2. 基礎指令操作 (與 Docker 高度相容)

如果你熟悉 Docker,Podman 的指令幾乎完全相同:

# 搜尋映像檔
podman search nginx

# 下載並執行 Nginx 容器
podman run -dt -p 8080:80 --name my-web docker.io/library/nginx

# 查看運行中的容器
podman ps
3. Rootless 模式的優勢

Podman 允許一般使用者啟動容器,而不需要 sudo。這意味著即使容器被攻破,攻擊者也只能獲得該使用者的權限,無法觸及系統核心。這在多租戶環境中非常有用。

4. Pod 的概念

Podman 引入了 Kubernetes 中「Pod」的概念,可以將多個容器組合在一起共享網路命名空間:

# 建立一個 Pod
podman pod create --name my-app-stack -p 8081:80

# 將容器加入 Pod
podman run -d --pod my-app-stack --name web-container nginx
podman run -d --pod my-app-stack --name db-container redis
5. 將容器整合進 Systemd

這是 Podman 最強大的功能之一。你可以為容器產生 Systemd 單元檔,讓容器像一般服務一樣受系統管理:

# 產生服務檔
podman generate systemd --name my-web --files --new

# 移動至 systemd 目錄並啟動
mv container-my-web.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now container-my-web.service
6. 映像檔管理與清理

長期使用會產生許多廢棄映像檔,定期清理是好習慣:

podman image prune -a

Podman 不僅是 Docker 的替代品,更是企業級容器維運的進化版,值得每一位 Rocky Linux 工程師深入學習。