跳转至

Rocky9安装Podman

安装 Podman

1. 更新系统

sudo dnf update -y

2. 安装 Podman

sudo dnf install -y podman

3. 验证版本

podman --version

输出类似 podman version 4.x.x 就说明安装成功。


🛠 Podman 常用用法(对照 Docker)

Podman 的命令几乎与 Docker 一致,只是默认不需要守护进程。

Docker 命令 Podman 等价命令
docker run hello-world podman run hello-world
docker ps podman ps
docker images podman images
docker exec -it <id> sh podman exec -it <id> sh
docker-compose up -d podman-compose up -d

📦 Podman-Compose(替代 docker-compose)

如果你需要 docker-compose 的功能,可以安装 podman-compose

sudo dnf install -y podman-compose

使用方式和 docker-compose 一样:

podman-compose up -d

其它安装方法

dnf install -y python3-pip
pip3 install podman-compose
podman-compose --version

容器开机自启

1. 确认容器存在

先看看你现在有哪些容器:

podman ps -a

假设输出里有个容器叫 nginx-test,那么你要把 mycontainer 换成 nginx-test


2. 使用 generate systemd(旧方法)

如果只是想先试用旧方法(还能用,但未来会弃用):

podman generate systemd --name nginx-test --files --new

会生成一个 container-nginx-test.service 文件。你可以把它复制到合适位置:

cp container-nginx-test.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable container-nginx-test.service
systemctl --user start container-nginx-test.service

这样容器就能随 systemd 启动。


3. 使用 Quadlet(推荐方法)

Podman 4.x 推荐用 Quadlet(systemd unit 的扩展)。

创建一个 .container 文件,例如:

# ~/.config/containers/systemd/nginx-test.container
[Unit]
Description=My Nginx Container

[Container]
Image=nginx:latest
Name=nginx-test
PublishPort=8080:80

[Service]
Restart=always

[Install]
WantedBy=default.target

然后执行:

systemctl --user daemon-reload
systemctl --user enable nginx-test.service
systemctl --user start nginx-test.service

注意:.container 文件要放在 ~/.config/containers/systemd/ 目录下,systemd 会自动识别。