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 不受此影响。
预防和降低风险,胖容器是个选择
BoCloud博云作为国内率先使用容器开源技术的云计算厂商之一,对此次事件也在保持密切关注。 根据 Linux 基金会发布的“了解美国对开源项目的出口管制”,可以明确“已公开发布”并且属于“开源”的项目不受出口管制服务条款的影响。 博云容器云BeyondContainer 使用的是 Docker 开源社区版本 Docker-CE,因其为“已公开发布”并且属于“开源”的项目,因此 Docker-CE 该开源版本此次不受影响。另外,此次条款影响公有镜像仓库 Docker Hub 使用,博云的客户使用的是私有镜像仓库,也不会受到 Docker Hub 受限的影响。
虽然此次 Docker 开源版本没有受到影响与限制,但开源不等于不受管制。从长远发展角度而言,企业也需要提前考虑其他策略,来预防可能出现的进一步限制。为预防和降低风险,企业可考虑使用国内容器云厂商自行维护的容器版本,或选择同时支持多种开源容器运行时的容器云产品。 2019年底,博云发布了自主研发且自行维护的容器版本:BeyondVM胖容器(兼容传统应用,蓄力边缘云——博云胖容器解决方案)。BeyondVM胖容器提供相对完备的进程树和系统服务的容器环境,具有更好的隔离性,支持业务同时获得容器和虚拟机的运行体验,无需改变代码即可实现向容器平台的迁移,帮助客户快速容器化存量应用,快速渐进式地拥抱云原生技术。
利用 BeyondVM 胖容器技术,可以实现:
同时兼容原生容器和虚拟机的使用体验。
比虚拟机轻量的资源分配能力,以方便资源快速申请、弹性。
类似虚拟机的使用体验,可登陆,可任意安装组件。
有固定IP地址,胖容器从创建到删除,IP地址保持不变。
可以通过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 以外的其他多种容器运行时的支持,帮助企业用户避免单一技术绑定带来的风险。
Docker商业版受限,胖容器是个选择的更多相关文章
- 搭建基于Docker社区版的Kubernetes本地集群
Kubernetes的本地集群搭建是一件颇费苦心的活,网上有各种参考资源,由于版本和容器的不断发展,搭建的方式也是各不相同,这里基于Docker CE的18.09.0版本,在Mac OS.Win10下 ...
- docker简单介绍----镜像和容器管理
docker可以分为三部分:docker镜像 docker仓库 docker容器 docker镜像:一个image可以包含一个镜像,也可以理解为一个系统模板,里面安装了相关应用,也可以是纯净版的 ...
- 数人云CTO解读Docker 1.12和金融业容器化
7月29日 数人云 在上海举办金融沙龙,邀请上交所和近二十家来自银行.保险.证券的IT技术专家一同探讨容器技术在金融业中的最佳实践.数人云CTO肖德时在会上将传统金融行业通过容器可以解决的四大问题做了 ...
- 026.[转] 基于Docker及Kubernetes技术构建容器云平台 (PaaS)
[编者的话] 目前很多的容器云平台通过Docker及Kubernetes等技术提供应用运行平台,从而实现运维自动化,快速部署应用.弹性伸缩和动态调整应用环境资源,提高研发运营效率. 本文简要介绍了与容 ...
- Docker+JMeter+InfluxDB+Grafana从容器内部发起压测
1.自由定制JMeter镜像: Dockerfile文件: FROM java:8# 基础镜像 MAINTAINER yangjianliang <526861348@qq.com># 作 ...
- Docker 进入正在运行的容器的4种方式
在使用Docker创建了容器之后,如何进入该容器呢? 进入Docker容器比较常见的几种做法如下: 使用docker attach 使用SSH 使用nsenter 使用exec 一.使用docker ...
- [Docker镜像] 关于阿里云容器镜像服务的使用(以天池比赛提交镜像为例)
最近在参加天池比赛,由于比赛需要使用阿里云容器镜像服务完成线上预测任务,所以花费了3-4天的时间了解并使用Docker完成相关镜像操作,在此分享下我学习的内容,以下是本文的目录结构: 介绍 镜像 容器 ...
- 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云
一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...
- Docker的镜像理解以及容器的备份、恢复和迁移操作
Docker的镜像理解以及容器的备份.恢复和迁移操作 这篇文章主要介绍了Docker的镜像理解以及容器的备份.恢复和迁移操作,覆盖很多原理知识以及容器的重要操作步骤,极力推荐!需要的朋友可以参考下 D ...
随机推荐
- java基础(七)--键盘输入
一.示例 package cnblogs; import java.util.Scanner; public class TestBase07IO { public static void main( ...
- 在CentOS 7 上为docker配置端口转发以兼容firewall
在CentOS 7上当我们以类似下列命令将主机端口与容器端口映射时可能遇到无法访问容器服务的问题 docker run --name web_a -p 192.168.1.250:803:80 -d ...
- npm ERR! Unexpected end of JSON input while
rm -rf node_modules package-lock.json and npm cache clean --force solved it
- matplotlib基础汇总_01
灰度化处理就是将一幅色彩图像转化为灰度图像的过程.彩色图像分为R,G,B三个分量,分别显示出红绿蓝等各种颜色,灰度化就是使彩色的R,G,B分量相等的过程.灰度值大的像素点比较亮(像素值最大为255,为 ...
- PHP is_resource() 函数
is_resource() 函数用于检测变量是否为资源类型. PHP 版本要求: PHP 4, P+-HP 5, PHP 7高佣联盟 www.cgewang.com 语法 bool is_resour ...
- java数组的拷贝和扩容
1.拷贝arraycopy方法 // 拷贝:arraycopy方法 // arraycopy // 第一个参数:原数组 // 第二个参数:原数组元素的起始位置 // 第三个参数:目标数组 // 第四个 ...
- 027_go语言中的通道选择器
代码演示 package main import "fmt" import "time" func main() { c1 := make(chan strin ...
- CSS基础知识(上)
1.创建结构化.语义丰富HTML 语义化标记是优秀HTML文档的基础. 语义化标记意味着在正确的地方使用正确的元素,从而得到有意义的文档. 有意义的文档可以确保尽可能多的人都能够使用. 1.1 ID和 ...
- java_List、Set、Conllections工具类
List接口 java.util.List 接口继承自 Collection 接口 List接口特点: 它是一个元素存取有序的集合.例如,存元素的顺序是11.22.33.那么集合中,元素的存储就是按照 ...
- HourglassNet