我知道Docker和Kubernetes解决了同样的问题。大多数用户可以将Docker别名为Podman(alias docker=podman),而不会有任何问题。
那么它们之间有什么区别呢?
那么它们之间有什么区别呢?
默认情况下,Podman容器作为非root用户运行
用户可以运行自己的容器,在这样做时,容器在用户命名空间内运行,严格隔离且不可访问其他用户
容器没有守护进程,并在轻量级CRI-o容器运行时上运行
请注意,无根容器没有IP地址,只能绑定到非特权端口,并且必须是用于存储的目录的所有者。
Docker | Podman |
---|---|
Docker是一个独立、强大的单体工具 | Podman采用模块化方法,依赖于专门的工具来执行特定的任务 |
Docker使用守护进程 | Podman不使用守护进程 |
Docker守护进程需要root权限 | Podman容器可以以非特权用户身份运行 |
由于需要root访问,因此比Podman不够安全 | 由于无需root访问,因此比docker更安全,因为无根容器被认为比其他容器更安全 |