学习podman的第一步
首先我们必须了解什么是docker
我们可以了解关于docker是如何工作的,这将会帮助我们理解podman的工作原理,docker必须运行一个守护进程来为所有的docke命令提供服务,docker命令提供的服务主要有
- 拉取和注册镜像从镜像仓库中
- 提交容器或者从本地镜像中删除容器
。。。。
如图,docker命令行工具(CLI)代表控制守护进程代表你执行这些操作
正式进入Podman
简单介绍
Podman,Skopeo和Buildah:
OCI计划下的工具(github/containers)。主要是由RedHat推动的,他们配合可以完成Docker所有的功能,而且不需要守护程序或访问有root权限的组,更加安全可靠,是下一代容器容器工具
**
Podman
**
Podan可以利用RUNC直接与容器,镜像或者内核等等进行交互,而不是通过守护进程,是使用用户命名空间来模拟容器中的root,无需连接到具有root权限的套接字保证容器的体系安全
即使用Podman之后我们不需要管理例如和Docker守护进程一样的守护进程,Podman也同样支持Docker命令他们的镜像也是兼容的,这令我很开心
Buildah
Buildah用来构建OCI图像。虽然Podman也可以用户构建Docker镜像,但是构建速度超慢,并且默认情况下使用vfs存储驱动程序会耗尽大量磁盘空间。 buildah bud(使用Dockerfile构建)则会非常快,并使用覆盖存储驱动程序,Buildah专注于构建OCI镜像。
Buildah的命令复制了Dockerfile中的所有命令。可以使用Dockerfiles构建镜像,并且不需要任何root权限。
Buildah的最终目标是提供更低级别的coreutils界面来构建图像。Buildah也支持非Dockerfiles构建镜像,可以允许将其他脚本语言集成到构建过程中。
Buildah遵循一个简单的fork-exec模型,不以守护进程运行,但它基于golang中的综合API,可以存储到其他工具中
Skopeo
Skopeo是一个工具,允许我们通过推,拉和复制镜像来处理Docker和OC镜像
下载ubuntu
sudo apt-get update -qq
sudo apt-get install -qq -y software-properties-common uidmap
sudo add-apt-repository -y ppa:projectatomic/ppa
sudo apt-get update -qq
sudo apt-get -qq -y install podman
最后记得更新一下软件源 podman info 查看成功