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 工程師深入學習。