Docker商业版受限,胖容器是个选择
前情概要
8月13日,Docker 公司更新了网站服务协议,条款申明,禁止禁运国家和被列入「美国实体清单」的组织和个人使用带有该服务协议链接的 Docker 网站和所有相关网站。这一更新协议迅速引起了业内的广泛关注与讨论,一时间有关“ Docker 被禁止使用”的讨论此起彼伏。
实际受限的产品与服务是什么?
结合1.1、1.2 和 2.5 条款,可以明确的是:
Docker 公司禁止被列入“美国实体清单”名单中的企业使用 docker.inc 网站提供的Docker 商业版 Docker-EE 及 Docker 其他服务,如 Docker Hub。
免费用户在使用 Docker Hub 时会在镜像数量、pull/push频次等方面受到限制,比如免费账号6个小时内限制下载200次等。虽然企业内部基本会部署自身的私有镜像仓库,但在构建或使用基础镜像时,可能仍然会受到此限制。
业内广泛使用的 Docker 开源容器引擎 Moby,因其采用了Apache License 2.0协议,并不会受到此影响,即开源版 Docker-CE 不受此影响。
预防和降低风险,胖容器是个选择
同时兼容原生容器和虚拟机的使用体验。
比虚拟机轻量的资源分配能力,以方便资源快速申请、弹性。
类似虚拟机的使用体验,可登陆,可任意安装组件。
可以通过SSH远程登陆系统。
严格的资源隔离,如CPU、内存等。
JVM,监控类工具看到的资源不是整个物理机的资源,而是真实分配给胖容器使用的资源。
7月29日,中国信息通信研究院在 2020可信云大会上发布了国内首个云原生技术生态图景,BeyondVM 胖容器入选该图景的容器技术版块。目前,BeyondVM 胖容器已经过大规模生产应用检验,如有极限情况发生,可以在不升级版本的前提下,直接使用 BeyondVM 胖容器代替 Docker,并且能获得更好的隔离性,以及对有状态的应用提供更强的支持能力。
支持多种容器运行时,避免单一技术绑定
容器运行时作为支撑 kubernetes 节点的底层关键软件,近年来随着 kubernetes 的进一步发展,业内诞生了多种容器运行时。当前,在谈到容器运行时,就不得不提社区中的两个协议:OCI 和 CRI。这两种不同的协议,在各自领域各有不同的标准实现。
OCI 规范(Open Container Initiative 开放容器标准)聚焦于两部分内容:容器运行时标准(runtime spec)和容器镜像标准(image spec)。其中,兼容 OCI 规范的典型项目有 runc、kata 等。(BeyondVM胖容器兼容 OCI 标准,可以灵活与 Kubernetes集群进行集成。)
CRI 接口(Container runtime interface容器运行时接口),是 kubernetes 社区提出的对接多种容器运行时的标准接口,该接口分为两部分内容:一是容器运行时服务RuntimeService,负责管理pod和容器的生命周期;另一个是镜像服务ImageService,负责管理镜像的生命周期。其中,CRI 的典型实现有 docker、containerd 等。
虽然,基于 Docker 的容器运行时仍然是当前 kubernetes 的默认选择,但得益于kubernetes 提出的 CRI 接口,使得用户有了更多种的容器运行时选择。博云BeyondContainer容器云也即将提供 Docker 以外的其他多种容器运行时的支持,帮助企业用户避免单一技术绑定带来的风险。
点击阅读原文,立即试用博云产品。