查看podman详情

可以查看podman的存储位置等信息

podman info

podman镜像管理

podman镜像管理语法与docker基本一致

查看镜像

# 查看镜像列表
podman images

# 显示所有镜像(包括中间层)
podman images -a
	
# 只显示镜像ID		
podman images -q
		
# 查看所有镜像,且只显示镜像id
podman images -qa

# 显示镜像的摘要信息		
podman images --digests

# 显示完整的镜像信息
podman images --no-trunc

搜索镜像

# 搜索镜像
podman search 镜像名

# 显示完整的镜像描述
podman search --no-trunc 镜像名
	
# 列出收藏数不小于指定值的镜像	
podman search -s 镜像名	
	
# 只列出Docker Hub自动构建类型的镜像	
podman search --automated 镜像名		

拉取镜像

podman pull 镜像名:标签

删除镜像

# 如果不写TAG,默认删除最新版本latest
podman rmi 镜像名

# 删除单个镜像:
podman rmi 镜像名称:[TAG]

# 删除多个镜像
podman rmi -f 镜像名称1:[TAG] 镜像名称2:[TAG]
# 删除全部镜像
podman rmi -f $(docker images -qa)

镜像导出

# 将镜像导出为tar包
podman save 镜像名称:标签 -o 备份镜像名称.tar

镜像导入

# 将镜像.tar导入到镜像
podman load -i 备份镜像名.tar

修改镜像tag

podman tag 镜像名称:标签 新的镜像名称:新的标签

从容器创建新镜像(不推荐)

podman commit 容器名 新镜像名

podman容器管理

podman容器管理语法与docker基本一致

podman运行容器

# 运行实例
podman run -dti 镜像名

# --name="容器名":为容器指定一个名称;
podman run --name tomcat_01 镜像名

# -i:以交互模式运行容器,通常与-t或者-d同时使用;组合参数:-dti
# -t:为容器重新分配一个伪输入终端,通常与-i同时使用;组合参数:-dti
# -d: 后台运行容器,并返回容器ID;组合参数:-dti
podman run --name tomcat_01 -dti 镜像名

# -p将宿主机端口映射到容器端口
## 起始就是用内核模块iptables创建一个dnat
## 可以使用iptables -L -t nat -n 查看到dnat规则
podman run -p 8080:8080 tomcat

# -P:大写的P,表示容器内部端口随机映射到主机的端口
## 格式为:-P 容器端口
podman run -P 8080 tomcat

# -v将(宿主机目录)挂载到(容器目录)
podman run -v /home/webapps/test:/usr/local/tomcat/webapps/test
	
# -e传递环境变量
podman run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

运行容器示例:

podman run --name tomcat8080 -dit -p 8080:8080 --restart=always -v /dta/webapps/test:/usr/local/tomcat/webapps/test tomcat
podman运行指定容器名容器名-d:守护进程;-t: tty伪终端;-i: 允许交互(输入)-p:将宿主机端口映射到容器端口宿主机端口:容器端口将(宿主机目录)挂载到(容器目录)宿主机目录:容器目录
podmanrun-nametomcat-dti-p8080:8080-v/dta/webapps/test:/usr/local/tomcat/webapps/test

ps查看容器

# 查看正在运行的容器
podman ps

# 查看所有容器
# -a :显示所有的容器,包括未运行的。
podman ps -a

# 显示最近创建的2个容器
# -n :列出最近创建的n个容器。
podman ps -n 2

#查看停止的容器
# -f :根据条件过滤显示的内容。
podman ps -f status=exited


# --format :指定返回值的模板文件。
# -l :显示最近创建的容器。
# --no-trunc :不截断输出。
# -q :静默模式,只显示容器编号。
# -s :显示总的文件大小。

启动容器

# 启动容器
# podman start 容器名/容器ID
podman start mycentos00

停止容器

# podman stop 停止容器
# podman stop 可以停止运行的容器 本质是发送一个 SIGTERM 信号
# podman stop 容器ID or 容器名
podman stop 865b755cd0b2

重启容器

# podman restart 重启容器
# podman restart 容器ID or 容器名
podman restart f9cadea1a5e7

删除容器

# podman rm 删除容器	
## 查看容器
podman ps -aq

## 删除容器
podman rm 容器id

# 强制删除
podman rm -f 容器ID

# 删除多个容器 
## podman rm -f 容器ID1  容器ID2 中间空格隔开
podman rm 865b755cd0b2 ce6343ee288f

# 删除所有容器
podman rm -f $(docker ps -qa)

强制停止容器

# 暴力停止,直接杀掉进程 (不推荐)
# podman kill 强制停止容器
# podman kill 向容器进程发送 SIGKILL 信号
# podman kill 容器ID or 容器名
# podman kill 容器id(推荐,常用)
podman kill f9cadea1a5e7

暂停/恢复容器

# podman 暂停/恢复容器
# 让容器暂停工作
podman pause 容器名/容器id
# 让容器恢复运行
podman unpause 容器名/容器id

# 进入容器
podman exec -ti 容器名 bash

容器日志

# 容器日志
# podman logs [OPTIONS] 容器名
# 显示更多的信息
podman logs	--details 容器id

# 跟踪实时日志
podman logs -f 容器id
podman logs --follow 容器id

	
# 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
podman logs --since 42m 容器id
	
# 从日志末尾显示多少行日志, 默认是all
podman logs--tail 100 容器id #100行
podman logs 容器id # 默认all
	
# 显示时间戳
podman logs -t 容器id
podman logs --timestamps 容器id
	
# 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
podman logs --until 42m 容器id

podman资源占用查看

podman stats
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐