三大版本区别
docker一共有三个版本:
docker.io
debian/ubuntu 官方基于docker社区源码封装的版本,有时候比docker-ce版本还要新
特点是将docker的依赖直接转接到主系统上
docker-ce
docker.com 放出来的社区版,仅维护源码
特点是使用golang将依赖封装在一个包中
docker-ee
docker.com 维护的商业版,主要有以下三个级别:
- 基本:用于认证基础架构的Docker平台,得到Docker Inc.的支持以及来自Docker Store的认证容器和插件
- 标准:添加了高级映像和容器管理,LDAP / AD用户集成以及基于角色的访问控制.这些功能共同构成了Docker企业版
- 高级:添加Docker安全扫描和连续漏洞监控
docker-ce有一个致命缺陷-依赖:
- docker本身依赖成百上千个第三方依赖
- 理论上只要有一个依赖出问题就需要完全重新编译docker,否则会被各种hack:joy:
- 反观 docker.io 将依赖托管给系统,只需要更新docker主程序即可
大批量部署长期使用docker-ce服务时随着时间的推移普遍会存在容器无法加载/运行异常/行为不统一的问题
更新计划
从Docker 17.03开始,Docker使用基于时间的发布时间表:
Month | Docker CE Edge | Docker CE Stable | Docker EE |
---|---|---|---|
January | + | ||
February | + | ||
March | + | + | + |
April | + | ||
May | + | ||
June | + | + | + |
July | + | ||
August | + | ||
September | + | + | + |
October | + | ||
November | + | ||
December | + | + | + |
- docker-ce不应该被用于任何期望稳定运行的产品中
- 推荐使用 docker.io 或者 docker-ee
在产品中使用docker-ce是极度不负责的行为