Podman的介绍k8s已经成为业界标准,如果嫌k8s复杂,可以使用rancher 2.0+版本来简化k8s的操作及维护。 在centos8里面默认的容器就是podman,不再是docker,可以快捷管理镜像(类似带系统的Time Machine),能快捷由镜像创建容器环境(类似虚拟机,但不模拟硬件层),也可以快速由容器制作出镜像进行保存或者分享。
Podman是无守护程序容器引擎,用于在Linux系统上开发,管理和运行OCI容器。容器可以以root用户或无根模式运行。简而言之:alias docker = podman 20年k8s宣布弃用docker 原本由 Docker 负责的工作现在基本都由红帽发布的三款工具接管了,分别是 Podman、Skopeo 与 Buildah。它们都不需要守护程序,也不需要访问 root 权限组 Podman(Pod Manager)是一个功能齐全的容器引擎,它是一个简单的无守护工具。 Podman提供了一个类似Docker-CLI的命令行,可以简化从其他容器引擎的转换,并允许管理pod,容器和图像。 Libpod 是一个创建容器 pod 的工具和库,它包含 pod 管理工具 Podman,Podman 管理 pod、容器、容器镜像和容器卷。 Podman 原来是 CRI-O 项目的一部分,后来被分离成一个单独的项目叫 libpod。Podman 的使用体验和 Docker 类似,不同的是 Podman 没有 daemon美[ˈdiːmən] 所以Podman 比较简单粗暴,它不使用 Daemon,而是直接通过 OCI runtime(默认也是 runc)来启动容器,所以容器的进程是 podman 的子进程。 为什么会出现podman?docker的出现,解决的根本问题是: 解决了不同环境之间手工匹配的复杂程度; 但docker有个让人头疼的问题:“Docker 守护程序在多个核心上占用 100% CPU 资源,并导致主机无法正常使用。” 而Podman不需要守护程序,也不需要访问 root 权限组。Podman 能够替代大部分子命令(run, push, pull 等等)。由于不需要守护程序,而且会利用用户命名空间模拟容器中的 root,所以 Podman 不需要接入具有 root 权限的 socket——这就解决了 Docker 长期以来一直面临的老大难问题。
|