Podman开始使用
Podman和Docker同样是容器化技术,Podman兼容Docker命令和镜像,相比较 Podman 是 无守护进程(Daemonless)、无需Root(Rootless)、集成systemd,对比优点有:
- Daemonless,无需常驻后台,避免守护进程故障风险;
- Rootless,更安全,无需Root权限;
- 与systemd集成,生成服务
- 更轻量,内存占用更小
官网:https://podman.io
一、安装
Ubuntu系统:sudo apt install podman
macOS/Linux系统:brew install podman
二、命令
ps 打印容器信息
# 默认显示运行中的容器
podman ps
# 显示所有的容器
podman ps -a
# 显示所有pod容器,同 podman-compose ps
podman ps -p
build 编译镜像
# 当前目录Dockerfile,编译成 xxx
podman build -t xx .
run 运行容器
# 运行容器,-d 表示后台运行
podman run -d <container_name>
# 可以指定 网络、网络别名、-e 环境变量、-v 指定挂载卷、-p 指定端口
podman run -d --network xxx --network-aliases xxx \-e MYSQL_ROOT_PASSWORD=12345678-e MYSQL_USER=user-v ~/opt/mysql:/var/lib/mysql-p 3306:3306mysql:5.7
exec 执行命令
# 在容器里,运行指定命令。-t 分配伪tty;-i 交互式(可输入),-d 后台
podman exec -it <container_name/id> /bin/sh
kill 关闭一个或多个容器
podman kill <container_name/id>
rm 删除容器
# 删除指定容器,但不会移除镜像。不会移除 正在运行和未使用 的,除非 -f
podman rm <container_name/id> [container_name/id...]
三、podman-compose
和 docker-compose
功能一样,需要单独安装,使用python实现和安装:
pip3 install podman-compose
相关命令:
podman-compose build
# 挂载pod,-d 表示后台运行
podman-compose up -d
podman-compose ps
# 打印服务的日志
podman-compose logs
# 显示compose文件
podman-compose config
# 卸载
podman-compose down
文档
- 用 Podman Compose 管理容器 | Linux 中国
- 初识podman中的pod功能
- add systemd service files
- Commands | Podman