Podman 简介
Podman
是一个开源的容器run项目,可在大多数 Linux
平台上使用。Podman
提供与 Docker
非常相似的功能。它不需要在你的系统上运行任何守护进程
,并且它也可以在没有 root
权限的情况下运行。
Podman
可以管理和运行任何符合 OCI(Open Container Initiative)
规范的容器和容器镜像。Podman
提供了一个与 Docker
兼容的命令行前端来管理 Docker
镜像。
rhel从8 开始使用
podman
作为默认的容器管理工具了
Podman 和docker区别
docker 需要在我们的系统上运行一个守护进程(docker daemon),而
podman
不需要启动容器的方式不同:
docker cli
命令通过API跟Docker Engine(引擎)
交互告诉它我想创建一个container,然后docker Engine
才会调用OCI container runtime(runc)
来启动一个container。这代表container的process(进程)不会是Docker CLI
的child process(子进程)
,而是Docker Engine
的child process
。Podman
是直接给OCI containner runtime(runc)
进行交互来创建container的,所以container process
直接是podman
的child process
。因为docker有docker daemon,所以docker启动的容器支持
--restart
策略,但是podman
不支持,如果在k8s中就不存在这个问题,我们可以设置pod的重启策略,在linux
系统中我们可以采用编写systemd
服务来完成自启动。docker需要使用root用户来创建容器,但是
podman
不需要