如何使用Podman管理容器

什么是Podman
Podman是一个开源的容器引擎,它可以用来管理容器、镜像和容器组。与Docker不同,Podman不需要守护进程来运行容器,而是直接在主机上运行容器。这使得Podman在资源占用方面更加高效。
Podman的官方地址:https://podman.io/
与Docker的区别
Docker采用的是客户端/服务器架构,Docker客户端(docker cli)例如输入的docker run命令,都是有Docker客户端来发起的。Docker的服务端,也就是Docker的守护进程(dockerd),负责处理Docker客户端的请求,执行容器相关的操作,管理容器、镜像等、网络、数据卷等资源。
Podman采用的是无守护进程架构,它不需要守护进程来运行容器,当一个Podman命令执行时,会直接在用户空间内启动容器进程,父进程就是调用者(Shell本身),容器结束后,相关进程也会退出,不保留后台服务。
安装Podman
Podman支持在Windows、macOS和Linux上安装。可以在在GitHub上找到各个版本的发行版。
在Windows上安装Podman
下载安装包,根据系统架构选择对应的版本,例如Windows x86_64架构的安装包为podman-4.6.2-windows-amd64.msi。
Podman 机器都基于虚拟化的 Windows Subsystem for Linux (WSLv2) 发行版,需要支持Windows Subsystem for Linux (WSL),安装后可以是使用poman命令,命令会通过远程方式与在 WSL 环境运行的 podman 服务进行通信。
在Linux上安装Podman
以下命令以Debian为例,其他具体参考Podman文档。
sudo apt update
sudo apt-get -y install podman安装compose插件:
pip3 install podman-compose使用Podman
Podman的使用与Docker类似,大部分命令只需要将docker替换为podman即可。例如,要运行一个容器,使用podman run命令,而不是docker run命令。
# 运行一个nginx容器,将主机的8080端口映射到容器的80端口
podman run -d -p 8080:80 nginx
# 查看正在运行的容器
podman ps
# 查看容器的日志
podman logs <container_id>
# 停止容器
podman stop <container_id>
# 删除容器
podman rm <container_id>
# 查看容器的信息
podman inspect <container_id>
# 查看容器的端口映射
podman port <container_id>
# 查看容器的环境变量
podman env <container_id>
# 查看容器的挂载卷
podman mount <container_id>
# 查看容器的网络配置
podman network ls
# 查看容器的存储卷
podman volume lsPodman Compose 是一个用于管理多个容器的工具,它的使用方式与Docker Compose类似。可以使用Compose文件来定义容器的配置,然后使用podman-compose命令来管理这些容器。
# 启动Compose文件中定义的容器
podman-compose up -d
# 查看Compose文件中定义的容器
podman-compose ps
# 停止Compose文件中定义的容器
podman-compose down图形化界面

官方提供了一个图形化界面工具,用于管理容器、镜像和容器组。可以在https://podman-desktop.io/下载安装。