podman 是一个无守护进程、开源兼容 Docker 的容器引擎,用来跑容器做虚拟化的环境。
首先要有系统镜像,有了镜像就可以运行镜像。运行的镜像就是一个轻量的虚拟机,也是一个容器。

1. 进行搜索
[root@wpzhan.com:~]$ podman search rockylinux
NAME DESCRIPTION
docker.io/rockylinux/rockylinux
docker.io/library/rockylinux The official build of Rocky Linux.
docker.io/rockylinux/rocky-toolbox Toolbox image for Rocky Linux - https://gith...
docker.io/rockylinux/rockylinux-shim RockyLinux shim-review images
docker.io/unidata/rockylinux
docker.io/amd64/rockylinux The official build of Rocky Linux.
docker.io/litmusimage/rockylinux
...
2. 获取镜像(已经获取了rockylinux:10)
podman pull docker.io/rockylinux/rockylinux:10
Trying to pull docker.io/rockylinux/rockylinux:10...
Getting image source signatures
Copying blob 0c53e9fad032 skipped: already exists
Copying config 812a83d5ae done |
Writing manifest to image destination
812a83d5aec123cbd962ba7cd1e22266db0fe2b3a0b49cb4e9aa521d13ad214f
3. 删除不用的镜像
[root@wpzhan.com:~]$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/openeuler/openeuler latest e87833eb7509 2 weeks ago 179 MB
docker.io/library/alpine latest a40c03cbb81c 3 weeks ago 8.74 MB
docker.io/rockylinux/rockylinux 9 9e021fdeb530 2 months ago 243 MB
docker.io/rockylinux/rockylinux 10 812a83d5aec1 3 months ago 244 MB
<none> <none> 0903c7cc56d9 6 months ago 179 MB
<none> <none> 9234e8fb04c4 7 months ago 8.61 MB
<none> <none> 3044dbe768be 8 months ago 241 MB
docker.io/rockylinux/rockylinux 8 fcc573d8a467 20 months ago 204 MB
quay.io/rockylinux/rockylinux latest 86f02aa837b3 3 years ago 211 MB
docker.io/library/centos 6 5bf9684f4720 4 years ago 202 MB
docker.io/library/centos 7 eeb6ee3f44bd 4 years ago 212 MB
docker.io/library/centos 8 5d0da3dc9764 4 years ago 239 MB
[root@wpzhan.com:~]$ podman image rm 0903c7cc56d9
Deleted: 0903c7cc56d9c9e9d7729c6a80dbabd6289daab7876ab98cda5229780b3e2cb4
[root@wpzhan.com:~]$ podman image rm 9234e8fb04c4
Deleted: 9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516
[root@wpzhan.com:~]$ podman image rm 3044dbe768be
Deleted: 3044dbe768be78aa620200d4133296315f67d36abf25a9f3753d79e8f2be75af
4. 运行一个容器
# 进入容器内的交互式 Shell
podman run -it rockylinux/rockylinux:10 /bin/bash
# 执行命令后容器退出,同时限制 内存和cpu
podman run --rm --memory="1g" --cpus="2" rockylinux/rockylinux:10 cat /etc/os-release
# 后台运行一个长期进程
podman run -d --name wpzhan rockylinux/rockylinux:10 sleep infinity
# 进入运行中的容器
podman exec -it wpzhan /bin/bash
# 将容器内的 80 端口映射到主机的 8080 端口
podman run -d --name wpzhan.com -p 8080:80 rockylinux/rockylinux:10
# 使用主机网络 默认是bridge (host, bridge, none)
podman run -it --rm --network bridge rockylinux/rockylinux:10 /bin/bash
# 连接到指定网络
podman network create mynet
podman run -it --rm --network mynet rockylinux/rockylinux:10 /bin/bash
# 添加主机名映射
podman run -it --rm --dns 8.8.8.8 --dns 8.8.4.4 --hostname wpzhan.com --add-host myhost:192.168.1.100 rockylinux/rockylinux:10 /bin/bash
5. 推出的容器怎么再次进入
如果容器的状态是Exited (通过 podman ps -a 可以查看)
podman start <容器ID或名称> # 启动容器
podman exec -it <容器ID或名称> /bin/bash # 进入容器
# 首先停止容器
[root@wpzhan.com:~]$ podman stop 2f3bf2a5be27
WARN[0010] StopSignal SIGTERM failed to stop container keen_jemison in 10 seconds, resorting to SIGKILL
2f3bf2a5be27
[root@wpzhan.com:~]$ podman exec -it 2f3bf2a5be27 /bin/bash
Error: can only create exec sessions on running containers: container state improper

6. 容器怎么修改名字
podman rename 2f3bf2a5be27 wpzhan

[root@wpzhan.com:~]$ podman exec -it wpzhan /bin/bash
bash-5.2#
7. podman 怎么删除容器

[root@wpzhan.com:~]$ podman stop wpzhan
WARN[0010] StopSignal SIGTERM failed to stop container wpzhan in 10 seconds, resorting to SIGKILL
wpzhan
[root@wpzhan.com:~]$ podman rm wpzhan
wpzhan
[root@wpzhan.com:~]$ podman ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES