1. 前言
本文主要介绍新一代的Docker管理工具,Podman、Skopeo、 Buildah,它允许用户无root权限运行Docker。
使用docker 6年后,我把它删除了。
为什么呢?
因为我在使用的过程中反复遇到的事件触发的,在这个事件中,Docker守护进程在多个内核上使用了100%的CPU,这使得主机实际上不可用。
这种情况以前发生过几次,可能是由于脚本已经失控,启动了太多的容器。 我从来没有真正深入到它的底层,因为我必须运行一个命令来关闭所有容器并重新启动守护进程。如果没有kill -9命令,守护进程将无法重新启动,所以我认为已经受了。
无论如何,我并不一定要为此责怪Docker,但它确实为我之前听到的一个论点增加了力量:
为什么Docker需要一个守护进程呢?
2. Docker三大新工具Podman、Skopeo、 Buildah
这三个工具主要是RedHat推动的,它们可以完成我需要Docker做的所有事情。它们不需要守护进程或访问具有root特权的组。
2.1 Podman
Podman替换了大多数子命令(run, push, pull等)的Docker命令。 因为它不需要守护进程,并且使用用户命名空间来模拟容器中的root,所以不需要连接到具有root权限的套接字,这是Docker长期以来被关注的一个问题。
2.2 Buildah
Buildah构建OCI映像。令人困惑的是,podman build也可以用来构建Docker映像,但是它的速度非常慢,默认情况下使用vfs存储驱动程序会占用大量磁盘空间。buildah bud
(build using Dockerfile)对我来说要快得多,并且使用了overlay存储驱动程序。
允许无root构建的用户名称空间是另一个让我想要的特性,非常吸引。我去年写了一篇关于如何让无root构建运行的文章,现在它已经为您提供了/etc/subuid和/etc/subgid设置,至少在Ubuntu上是这样。
Skopeo is a tool that allows you to work with Docker and OCI images by pushing, pulling, and copying images.
2.3 Skopeo
Skopeo是一个允许你使用Docker and OCI images工具
Skopeo是一个工具,允许您通过pushing, pulling, 和复制镜像来处理Docker和OCI镜像。
评论前必须登录!
注册