Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker 非常相似的功能。它不需要在你的系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。
Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端来管理 Docker 镜像。
一、帮助命令
# 显示podman的版本信息
podman version # 显示podman的系统信息,包括镜像和容器的数量
podman info# 帮助命令
podman 命令 --help
二、镜像的基本命令
podman images 查看所有本地的主机上的镜像
# 解释
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的ID
CREATED 镜像的创建时间
SIZE 镜像的大小# 可选项-a, --all # 列出所有镜像-q, --quiet # 只显示镜像的ID
podman search 搜索镜像
# 可选项,通过收藏来过滤
--filter stars=4000 搜索出来的镜像就是STARS大于4000
podman pull 下载镜像
# 下载镜像,如果不写tag,默认就是latest;写上tag,就是下载指定版本的镜像
podman pull 镜像名[:tag]
podman rmi 删除镜像
# 删除指定的容器
podman rmi -f 容器ID# 删除多个容器
podman rmi -f 容器ID 容器ID 容器ID 容器ID# 删除全部容器
podman rmi -f $(podman images -aq)
三、容器的基本命令
说明,我们有了镜像才可以创建容器,linux,下载一个ubuntu镜像来测试学习
podman pull ubuntu
新建容器并启动
podman run [可选参数] 镜像# 参数说明
--name="Name" # 容器名字,tomcat01 tomcat02,用来区分容器
-d # 后台方式运行
-it # 使用交互方式运行,进入容器查看内容
-p # 指定容器端口-p ip:主机端口:容器端口-p 主机端口:容器端口 (常用)-p 容器端口
-P 随机指定端口
podman ps 列出所有的运行的容器
# 列出当前正在运行的容器
podman ps# 列出当前正在运行的容器 + 带出历史运行过的容器
podman ps -a# 列出最近创建的容器
podman ps -n=?# 只显示容器的编号
podman ps -q
退出容器
# 容器直接停止并退出
exit# 容器不停止退出
Ctrl + P + Q
podman rm 删除容器
# 删除指定的容器,不能删除正在运行的容器
podman rm 容器ID# 删除所有的容器
podman rm -f $(podman ps -aq)
启动和停止容器的操作
# 启动容器
podman start 容器ID# 重启容器
podman restart 容器ID# 停止当前正在运行的容器
podman stop 容器ID# 强制停止当前的容器
podman kill 容器ID
四、日志、元数据、进程的查看
后台启动容器: podman run -d 镜像名
问题:podman ps,发现centos停止了。
常见的坑,podman容器使用后台运行,就必须要有一个前台进程,podman发现没有应用,就会自动停止。nginx容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了。
查看日志:podman logs -tf --tail number 容器ID
# 查看日志
podman logs -tf --tail number 容器ID# 显示日志
-tf # 显示日志
--tail number # 要显示日志条数
查看容器中进程信息:podman top 容器ID
查看镜像的元数据:podman inspect 容器ID
五、进入容器的命令和拷贝命令
进入当前正在运行的容器
# 进入容器后开启一个新的终端,可以在里面操作【常用】
podman exec -it 容器ID /bin/bash# 进入容器正在执行的终端,不会启动新的进程!
podman attach 容器ID
从容器内拷贝文件到目的主机上
# 从容器内拷贝文件到目的主机上。拷贝只是一个手动过程,未来我们使用-v卷的技术,可以实现!
podman cp 容器ID:容器内路径 目的的主机路径
六、常用命令小结
获取更多技术干货,请访问大土土随笔
如果本文对您有所帮助,请关注微信公众号“捷创源科技”。