国内最专业的IT技术学习网

UI设计

当前位置:主页 > UI设计 >

再见,Docker!

发布时间:2019/08/01标签:   容器    点击量:

原标题:再见,Docker!
克日,网友 zwischenzugs 发文称,他把本人曾经应用了六年的家庭效劳器中的 Docker 都删除了,并应用了别的开源软件来替换 Docker。

为甚么要和 Docker 告辞?
为甚么 zwischenzugs 会抉择把全部家庭效劳器里的 Docker 都一齐删除(apt purge -y docker-ce)呢?由于他老是会碰到一个重复呈现且使人头痛的成绩:“Docker 保卫顺序在多个中心上占用 100% CPU 资本,并招致主机无奈畸形应用。”zwischenzugs 以为呈现这类情形,最能够的起因是剧本失控招致启动了太多容器,然而他也始终没能找出更深档次的起因,由于假如想搞清晰起因,必需先删除全部容器,而后重启保卫顺序。因为曾经删除了 Docker,这时再去探索本源仿佛也没甚么须要了。固然,删除了 Docker,并不料味着zwischenzugs对 Docker 有所埋怨,只是他忽然又想到了之前听过的一个争辩:“Docker 干吗要配一个保卫顺序?”
调换 Docker 的详细步调
zwischenzugs底本由 Docker 担任的任务当初基础都由红帽公布的三款东西接收了,分辨是 Podman、Skopeo 与 Buildah。它们都不须要保卫顺序,也不须要拜访 root 权限组。
Podman
Podman 可能替换大局部子下令(run, push, pull 等等)。因为不须要保卫顺序,并且会应用用户定名空间模仿容器中的 root,以是 Podman 不须要接入存在 root 权限的 socket——这就处理了 Docker 临时以来始终面对的老迈难成绩。https://podman.io/
Buildah
Buildah 担任构建 OCI 镜像。使人迷惑的是,podman build 也可能用于构建 Docker 镜像,但其速率太慢并且默许应用 vfs 存储驱动的设置会占用大批磁盘空间。比拟之下,buildah bud(「应用 Dockerfile 构建」)对我来讲速率更快,并且可能主动笼罩存储驱动。用户定名空间同意无 root 构建的功效对我来讲一样十分主要。当初,最少在 Ubuntu 上,咱们曾经可能应用 /etc/subuid 与 /etc/subgid 以开箱即用的方法享用这一方便。https://buildah.io/
Skopeo
Skopeo 东西同意咱们对 Docker 与 OCI 镜像履行 psuh、pull 以及 copy 等操纵。http://github.com/containers/skopeo与半年前比拟,现在在 Ubuntu 上装置这些东西曾经变得十分轻便。不外,runc 似乎仍是须要自力装置,实在 runc 也能够事后设置好。装置好以后,咱们就来一同看看详细的调换步调吧。起首,要在 cron 傍边调换掉全部 Docker 实例,并经过 Podman 调换全部 CI 义务。这项任务十分轻松,Ansible 剧本就能轻松搞定,剩下的一点成绩在 GitHub 库里搜寻一下也可疾速处理。在实现上述操纵后,能够应用 sysdig 检查能否另有指向 docker 的援用挪用:sysdig | grep -w docker,须要留神的是,这项操纵比拟占用资本,能够会大大下降体系运转速率。在断定不存在任何 docker 挪用以后,能够运转以下下令:apt remove -y docker-ce。为了保障以后还能找到某些须要应用的设置,zwischenzugs 并没有完全删除全部用例。当在所有开端稳固运转以后,最初一步就是停止“大打扫”:删除 /etc/apt/* 傍边全部指向 Docker apt repo 的残余源;应用 delgroup docker 从体系傍边删除 docker 组;删除 etc/docker / *、 /etc/default/docker 以及 /var/lib/docker 傍边的全部残余文件。兴许有人会猎奇 Docker Compose 是怎样处置的?zwischenzugs 表现:“我实在始终没用它,以是也就没甚么成绩。假如应用了的友人能够实验 podman-compose 名目,只不外该名目现在还不太成熟。”

版权信息Copyright © IT技术教程 版权所有    ICP备案编号:鲁ICP备09013610号