2022 年要考虑的 7 种 Docker 替代方案

Posted InfoQ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022 年要考虑的 7 种 Docker 替代方案相关的知识,希望对你有一定的参考价值。

作者 | Sudip Sengupta
译者 | 辛晓亮

许多企业都采用容器来进行开发和管理稳定的应用程序,Docker 是该领域功能最丰富且使用最广泛的工具之一,已有数百万应用程序在使用它。Docker 本身有着强大的独立生态系统,并提供了一个广泛的工具包来管理容器化过程,但 Docker 还有其他替代品,它们提供了独特的用例和功能。本文深入探讨了 Docker 七个替代品,其中包括一系列综合平台,如 Docker 以及可以作为 Docker 生态系统组件替代品的工具等。

的功能的工具。Buildah 经常与 Podman 一起使用,互作补充,例如,Podman 在后台使用 Buildah 功能的子集来实现其构建过程。

它可以从 Dockerfile 或 Containerfile 中构建镜像,并生成与使用 Docker 创建的镜像相同的镜像,因为这些镜像是符合 OCI 的。此外,它还提供了对镜像层的细粒度控制,允许在一个单一层中进行多次修改提交。它还提供了从头开始构建镜像的能力,即不包含任何内容的镜像,这让用户可以自由地只添加运行应用程序所需的软件包。最后,与 Docker 不同的是,在 Buildah 中,用户只能看到他们构建的镜像。

BuildKit

BuildKit 是第二代构建镜像的 Moby 项目,在较新的 Docker 版本中作为实验性功能提供。与 Docker 一样,它使用守护程序运行。不过,标准 Docker 构建和 BuildKit 之间的主要区别之一是,前者是逐层构建,后者提供并行构建处理。这个功能提高了性能,使构建速度更快。BuildKit 还允许跳过未使用的阶段,改善增量构建,并允许无根构建。此外,BuildKit 使用一个缓存来减少重建图像每一层的需要。

Kaniko

Kaniko 是一个谷歌镜像构建工具,它可以从 Dockerfile 构建镜像。它和 Buildah 一样是无守护进程的,但更侧重于在 Kubernetes 中构建镜像。Kaniko 对于本地开发实例来说不是很方便,因为它通常作为镜像与 Kubernetes 等容器编排器一起运行。对于 Kubernetes 集群中的持续集成和交付管道,Kaniko 可以成为一个实用的工具。

RunC

RunC 以前是嵌入到 Docker 架构中的一个模块,在 2015 年作为独立工具发布。此后,它成为一个广泛使用的、标准化的、可互操作的容器运行时。DevOps 团队可以将其作为 Docker 或其他定制容器引擎的一部分。RunC 属于容器化生态系统中的容器运行时部分。容器运行时是处理容器运行的容器引擎中使用的较低级别的组件。

尽管 Docker 为组织在容器化过程中所需的各个方面提供了一个全面的工具包,但某些 DevOps 功能可能需要探索其他替代方案。但是,在选择任何此类选项时也需牢记此类替代方案所运行的主机操作系统及其使用情况。

原文链接:

https://www.containiq.com/post/docker-alternatives

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

75%新项目都可以“无脑”选择单体架构

InfoQ 最新 Java 发展趋势报告

AlphaCode编程比赛击败一半程序员;微信超1亿人视频号看春晚,6.6亿人抢红包;Flutter 2.10发布 | Q资讯

这十个事件,让“永不宕机”变成了一个笑话

点个在看少个 bug 

容器解决方案-Docker的7种替代方案

1,WHY

都说docker大法好,但是用下来也发现一些问题,比如优先考虑安全性。
Docker最大的安全优势在于它将应用程序分解为更小的部分。如果某一部分的安全受到损害,其余部分不会受到影响。
虽然容器中的隔离进程有望提高安全性,但是似有容器都共享单个控制系统的访问。如果在不完全隔离的情况下运行docker容器。任何恶意代码都可以访问您的计算机内存。除非限制容器功能,否则容易受到资源滥用类型的攻击。为了获得最大的效率和隔离,每个窗口都应解决一个特定的关注领域。
另一个问题是Docker的是默认配置–用户没有命名空间。~命名空间只允许软件 资源使用属于特定命名空间的其它资源~

使用Docker运行应用程序意味着使用root权限运行Dockers守护进程。任何脱离Docker容器的里程都将在主机上拥有与在容器中相同的权限。以非特权用户身份在容器内运行您的进程无法保证安全性。所以不应从不受信任的来源下载现成的容器。

2,七大备胎

可以作为docker窗口的补充或者完全不同的容器。

  • Artifactory Docker Registry
  • LXC (Linux)
  • Hyper-V and Windows Containers
  • rkt (works with Kubernetes)
  • Podman (open-source container engine)
  • runC (portability solution)
  • containerd (a container runtime)

3.Artifactory Docker Registry

.⌘⌘⌘⌘要知后事,下回再康康⌘⌘⌘⌘⌘⌘

4. 参考链接

以上是关于2022 年要考虑的 7 种 Docker 替代方案的主要内容,如果未能解决你的问题,请参考以下文章

Docker已经再见,替代 Docker 的五种容器选择

2021年要了解的34种JavaScript简写优化技术

Docker五种存储驱动原理及应用场景和性能测试对比

Effective Java 第三版——1. 考虑使用静态工厂方法替代构造方法

考虑使用静态工厂方法替代构造方法

固定数量的自身权益工具交换固定金额的现金