三大版本区别

docker一共有三个版本:

  1. docker.io

    debian/ubuntu 官方基于docker社区源码封装的版本,有时候比docker-ce版本还要新

    特点是将docker的依赖直接转接到主系统上

  2. docker-ce

    docker.com 放出来的社区版,仅维护源码

    特点是使用golang将依赖封装在一个包中

  3. docker-ee

    docker.com 维护的商业版,主要有以下三个级别:

    1. 基本:用于认证基础架构的Docker平台,得到Docker Inc.的支持以及来自Docker Store的认证容器和插件
    2. 标准:添加了高级映像和容器管理,LDAP / AD用户集成以及基于角色的访问控制.这些功能共同构成了Docker企业版
    3. 高级:添加Docker安全扫描和连续漏洞监控

docker-ce有一个致命缺陷-依赖:

  1. docker本身依赖成百上千个第三方依赖
  2. 理论上只要有一个依赖出问题就需要完全重新编译docker,否则会被各种hack:joy:
  3. 反观 docker.io 将依赖托管给系统,只需要更新docker主程序即可

大批量部署长期使用docker-ce服务时随着时间的推移普遍会存在容器无法加载/运行异常/行为不统一的问题

更新计划

从Docker 17.03开始,Docker使用基于时间的发布时间表:

MonthDocker CE EdgeDocker CE StableDocker EE
January+
February+
March+++
April+
May+
June+++
July+
August+
September+++
October+
November+
December+++
  • docker-ce不应该被用于任何期望稳定运行的产品中
  • 推荐使用 docker.io 或者 docker-ee

在产品中使用docker-ce是极度不负责的行为

Last modification:April 9, 2021
如果觉得我的文章对你有用,请随意赞赏