十大Docker开源替代产品
本文安全牛推荐十大Docker的最佳开源替代产品,欢迎读者参与投票改变排序。...
点击蓝字关注我们
![](/static/css/default/img/bg.gif)
作为流行的容器管理技术,Docker的最大优点是能将应用与计算环境分离,允许开发者在同一台计算机上使用不同的技术。通过Docker,开发者可以使应用程序在同一服务器上运行Python、Ruby、PHP、Node JS或任何其他语言,并将每个应用程序安装在具备独立数据库引擎的单独容器中。
但是,8月13日生效的Docker公司最新服务条款引起了国内IT业界的广泛关注。该条款明确指出,Docker公司提供的服务,禁止美国“实体清单”上的实体使用。
![](/static/css/default/img/bg.gif)
而且,未来不排除更多的中国IT公司会被“请进”这个“实体清单”。
虽然受“实体清单”禁令限制的是Docker商业版及Docker的其它服务,比如Docker Hub,但这依然给Docker中国的前景蒙上了阴影。
而且,有业内人士指出:Docker这家公司到目前,最有价值的不是Docker软件本身,而是Docker hub。
开源,当下依然是最安全的选择。Linux基金会不久前发布《了解开源科技和美国出口管制》白皮书指出,美国出口管制条例EAR明确豁免了大多数以开源形式呈现的软件和技术。
对于国内的IT企业和网络安全企业来说,Docker的“实体清单”禁运,事实上已经敲响了警钟,是时候开始评估Docker的开源替代品了。
顶级Docker替代品
Docker远非完美的产品,存在很多缺点。例如必须以root权限运行,并且停止容器将删除其中的所有信息(卷中的内容除外)。其他缺点还包括:安全性和隔离性不如VM、大规模不易管理(K8s应用而生)、问题排查较难、不支持Windows等。
事实上,目前Docker软件有不少优秀的替代品,其中不少产品的技术成熟度、稳定度和资源占用方面的表现不输甚至优于Docker。
以下,我们推荐十个Docker的最佳替代产品,您可以投票改变排序。
牛调研
OpenVZ
![](/static/css/default/img/bg.gif)
OpenVZ还提供了一个网络文件系统(NFS),允许从OpenVZ虚拟环境访问网络磁盘文件。该工具支持IA64处理器的检查点和实时迁移,此功能是其他开源操作系统虚拟化软件所无法提供的,系统管理员无需最终用户干预即可使用虚拟服务器在物理服务器之间移动,而无需昂贵的存储系统。
OpenVZ是一种开源技术,也是SWsoft的Virtuozzo虚拟化产品的基础。它为虚拟环境中的VLAN提供了标准支持,从而允许在不同网络上标记每个网络数据包。支持FUSE(用户空间中的文件系统),例如,它可以将FTP或SSH服务器显示为虚拟环境中的文件系统。
网站:https://openvz.org/
系统支持:Linux
Rancher
![](/static/css/default/img/bg.gif)
网站:https://rancher.com
支持系统:Linux
Nanobox
![](/static/css/default/img/bg.gif)
借助Nanobox,您可以自由地创建一致且隔离的开发环境,该环境可以轻松地与任何人共享,并且可以在任何主机(AWS、Digital Ocean、Azure、Google等)上实现。开发人员可以在本地计算机和云提供商之间一致地运行其应用程序。
你可以非常轻松地使用Nanobox仪表板管理生产应用程序,Nanobox还支持零停机时间部署和扩展,并通过统计信息显示板以及历史日志输出来监视应用程序的状态。
网站:https://nanobox.io/
系统支持:基于Web
Podman
![](/static/css/default/img/bg.gif)
通过Podman,我们不仅可以检查OCI映像,甚至不下载它们,还可以从一个存储库中提取元素并将其直接移动到另一个存储库中,镜像文件无需通过我们的设备传输。我们无需下载镜像即可检查或使用其组件。Podman还允许运行默认启用Systemd的容器,无需进行任何修改。
Podman支持套接字激活,因此我们可以使用该系统来配置套接字,并可以访问用于与该工具进行通信的远程API。它能够通过名称空间使用UID分隔,这在运行容器时提供了额外的隔离层。
下载链接:
https://developers.redhat.com/blog/2018/08/29/intro-to-podman/
系统支持:Linux
RKT
![](/static/css/default/img/bg.gif)
Core OS决定启动RKT的主要原因之一就是安全性。在1.1版之前,Docker需要以root用户身份运行,这是一个非常严重的漏洞,允许超级用户级别的攻击。相反,RKT允许我们对Linux权限使用标准的组处理,从而允许容器在没有root特权的用户创建后运行。
Docker的优势是易于集成,而RKT需要更多的手动安装和配置。无论如何,它仍然是Docker的很好替代品,因为它允许我们使用APPC映像(App容器映像)以及Docker映像。反过来,它也允许与Kubernetes和AWS Orchestrator集成。
下载链接:https://github.com/rkt/rkt
系统支持:Linux
Singularity
![](/static/css/default/img/bg.gif)
关于Singularity的另一个重要事实是,我们可以导入和使用我们已经拥有的Docker映像。我们甚至可以在本地编辑容器,然后将其挂载到共享环境中,因为它不需要root特权即可挂载。也可以使用基本文件传输协议(例如RSYNC、HTTP、SCP等)进行传输。
下载链接:
https://sylabs.io/singularity/
系统支持:Linux
Kubernetes(K8s)
![](/static/css/default/img/bg.gif)
Kubernetes使容器化应用程序的部署,管理和扩展自动化,可以更轻松,快速和高效地执行该过程。用户现在可以一键式更新来更新他们在集群中使用的Kubernetes的核心版本。使Kubernetes集群保持最新状态变得相当容易,因为现在无需重新部署集群或应用程序就可以做到这一点。
Kubernetes是一个开源项目,由Cloud Native Computing Foundation(CNCF)和Linux Foundation管理。这可以确保该项目得到大型开源社区的最佳实践和想法的支持,此外还消除了依赖单个提供商的风险。
网站:https://kubernetes.io/
系统支持:基于Web和Linux
Red Hat OpenShift Container Platform
![](/static/css/default/img/bg.gif)
网站:
https://www.openshift.com/products/container-platform
系统支持:Linux、Windows
Apache Mesos
![](/static/css/default/img/bg.gif)
Mesos使用两层调度系统,在该系统中,它确定要分配给每个框架的资源的数量,而框架则确定要接受的资源以及在这些资源上运行哪些任务。你可以扩展到50,000个节点,在不同框架之间共享集群,并不断优化。
Mesos允许集群运行应用程序所在的框架,在不同服务器之间分配负载,从而避免过载,获得最佳性能。Mesos通常用于Java、Python、Scala和R应用程序。
网站:http://mesos.apache.org/
系统支持:Linux、OSX和Windows
FreeBSD
![](/static/css/default/img/bg.gif)
FreeBSD还提供了针对连接器和完整平台的改进的网络操作系统功能,支持从Intel推崇的高端连接器到ARM、MIPS和PowerPC硬件平台。FreeBSD拥有23,000多个库和外观应用程序,可支持用于台式机、助手、设备和集成媒体的应用程序。
网站:https://www.freebsd.org/
系统支持:Unix和基于Web的
Vagrant
![](/static/css/default/img/bg.gif)
Vagrant安装在开发人员的计算机上,面向开发环境,而不是生产环境。甚至Vagrant的开发公司都不推荐在生产环境中使用Vagrant。Vagrant是跨平台的,支持的系统包括:Mac、Windows、CentOS和Debian。Vagrant的定位是开发人员之间的,安装可移植且可运行开发环境的工具。
默认情况下,Vagrant使用Virtual Box进行虚拟化,但可与任何虚拟化软件一起使用,Vagrantfile配置文件的语法也很简单。
网站:https://www.vagrantup.com/
系统支持:Debian、centOS、Arch Linux、Linux、FreeBSD、macOS和Microsoft Windows
文件大小:210 MB(用于Windows)
LXC
![](/static/css/default/img/bg.gif)
与Docker的不同之处在于,LXC可看作是一个完整的操作系统。另一方面,Docker只能运行单个应用程序,并且对OS有一定的限制。与Docker相比,LXC是一种更轻便,更安全的选择,因为它消耗的资源更少,并且不需要以root身份运行。
上述优点的代价就是复杂性增加,除此之外,我们还必须添加糟糕的文档。通常,当我们使用容器时,我们想要的是快速,轻松地创建我们的工作环境。因此,LXC这个替代方法更适合高级用户。
网站:https://linuxcontainers.org/
系统支持:Linux
以上是十种可以在多操作系统上使用的顶级Docker替代软件。如果您有更好的Docker替代产品推荐,请提交在留言区。
相关阅读
浅析Docker容器安全管控方法
十大开源Web应用安全测试工具
容器是救星吗?保卫Docker安全时应考虑的10件事
十大开源Web应用安全测试工具
容器是救星吗?保卫Docker安全时应考虑的10件事
![](/static/css/default/img/bg.gif)
合作电话:18311333376
合作微信:aqniu001
投稿邮箱:editor@aqniu.com
![](/static/css/default/img/bg.gif)
关注 安全牛
![](http://a-site.cn/static/down/wx_205x205.png)