podman 的简单使用

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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注