【Docker】熟悉 Docker(版本、官方网站、架构、生态)

[复制链接]
发表于 2026-1-23 06:25:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、Docker 版本

Docker 发展过程中衍生了以下版本,现在我学习和使用提到的版本是 docker-ce。
   
1、lxc

  lxc 是最早的 linux 容器技能,早期版本的 docker 直接使用 lxc 来实现容器的底层功能。固然使用者相对较少,但 lxc 项目仍在连续开辟演进中。
   
2、libcontainer

  docker 从 0.9 版本开始自行开辟了 libcontainer 模块来作为 lxc 的替换品实现容器底层特性,并在 1.10 版本彻底去除了 lxc。
在 1.11 版本拆分出 runc 后,libcontainer 也随之成为了 runc 的核心功能模块,runc 后续酿成了容器标准。

3、moby

官方网站:Moby (mobyproject.org)

moby 是 docker 公司发起的开源项目,此中最重要的部分就是同名组件 moby,毕竟上这个 moby 就是 dockerd 现在使用的开源项目名称,docker 项目中的 engine(dockerd)堆栈现在就是从 moby 堆栈 fork 而来的,使用 containerd 作为运行时标准。

4、docker-ce

官方网站:https://www.docker.com/pricing/
docker 的开源版本,CE 指 Community Edition。docker-ce 中的组件来自于 moby、containerd 等其他项目。

5、docker-ee

官方网站:https://www.docker.com/pricing/
docker 的收费版本,EE 指 Enterprise Edition。其底子组件泉源和 docker-ce 是一样的,但附加了一些其他的组件和功能。

二、Docker 官方网站

docker 官网:www.docker.com

三、Docker 架构

1、官方架构

Docker 使用客户端-服务器(C/S)架构模式,使用远程 API 来管理和创建 Docker 容器。
Docker 容器通过 Docker 镜像来创建。


(1)Docker 堆栈(Registry)

Docker 堆栈用来生存镜像,可以明确为代码控制中的代码堆栈。Docker Hub 供了巨大的镜像聚集供使用。

(2)Docker daemon

Docker daemon 是服务器组件,是 Docker 最核心的配景历程,也把它称为守卫历程。
   
(3)Docker 客户端(Client)

  Docker 客户端通过下令行大概其他工具使用 Docker API 与 Docker 的守卫历程通讯。

(4)Docker 主机(Host)

一个物理大概假造的呆板用于实行 Docker 守卫历程和容器。

(5)Docker 镜像(Images)

Docker 镜像是用于创建 Docker 容器的模板。

(6)Docker 容器(Container)

容器是独立运行的一个或一组应用。  

2、生存案例

前面的几个概念大概比力难懂确,这里罗列个有关生存的案例:以一家人去旅游入住旅店为例。
   我们一家人和朋侪一块旅游去旅店,我们就是 Docker Client。到旅店办理入住,办理退房,缴费须要旅店前台提供各种服务,旅店前台就是我们的 Docker Daemon(Docker 的核心折务端)。旅店是建在美丽的海边,旅店的宅基地和大楼就是我们实际的物理服务器大概假造服务器,也就是 Docker Host。旅店就 1000 多个房间,每个房间内里不一样,有标间、大床房、家庭房等,这就是 Registry(Docker 镜像堆栈)。旅店的标准的房间豪华大床房和双人标间,这个就是 Images(Docker 镜像),我们客户是没有办法修改的。我们办理完入停止续后,住进了一个豪华大床房,然后把行李、个人物品带到了一个详细的房间号,好比 9527,那么这个房间就可以给我们使用了,朋侪也开了一间豪华大床房,固然他的豪华大床房和我们的一样,当时我们携带的物品,我们的洗漱时间,睡觉时间都不一样,这个就是容器 Docker Container。容器的烧毁,也就是我们一周后旅游竣事了,搬出了旅店,旅店把我们的房间规复了镜像原来的样子。
   
四、Docker 生态

  1、新期间软件诉求

  Docker 为什么要操持镜像,然后又搭建个 Docker Hub,搞个镜像堆栈呢?

  来看下现在的期间发生了什么:
  (1)数据量疯狂增长

  随着物联网物联网、边沿盘算等智能终端装备不绝遍及,受到来自物联网物联网装备信号、元数据、娱乐干系数据、云盘算和边沿盘算的数据增长的驱动,举世数据量出现加速增长。
  根据 IDC 分布的《数据期间 2025》猜测,举世数据量将从 2018 年的 33ZB 增至 2025 年的 175ZB,增长高出 5 倍;中国匀称增速快于举世 3%,预计到 2025 年将增至 48.6ZB,占举世数据圈的比例由 23.4% 提拔至 27.8%。此中,中国企业级数据量将从 2015 年占中国数据量的 49% 增长到 2025 年的 69%。
  

  
(2)处理处罚本事快速增长

  腾讯云举世服务器数量 100w+,数据量 EB+;2020 年阿里云:在天下已建成 5 大超等数据中央,阿里云在举世 22 个地区摆设了上百个数据中央,服务器的总规模数已经靠近 200 万台。
  某省疾控中央疫苗预约体系、全员核酸检测体系、康健码体系共 300 余台服务器,并为核酸检测体系快速扩容盘算和存储资源。
  
(3)软件需求发作式增长

  A. 软件发布频仍

  

  • 研发模式从瀑布开辟演变为敏捷开辟,原来 3 个月上一次新功能,现在两周一次,而开辟过程中我们也经常遇到须要修改需求,然后变动再发布的情况。
  • 软件上线有标题须要快速回滚,对软件有着极强的版本管理和回滚诉求。

B. 软件须要共享

  软件的研发职员、研发公司在操持、研发好一款软件的时间,怎样方便的共享给他人,而又能快速的使用起来。
  
C. 情况搭建复杂,技能种类繁多

  每个项目组使用的语言不一样,须要差异的情况,每个都得搞一套。每次都要从 yum 开始一个个完成摆设安装,每次都有各种奇怪的标题,运维资源很高。
  

  
2、Docker 办理方案

  云期间须要我们针对这些诉求有一套针对的办理方案。
  要处理处罚海量的数据时,该如那里理呢?

     购买大量的服务器,并研发对应软件。
    开辟的需求须要频仍的变动上线,怎样才气将修改的代码快速的分发到几百大概几千台服务器呢?怎样共享软件呢?

     搞一个中央堆栈,让各个服务器去下载软件包并安装,以是 CentOS 搞了 yum 堆栈,docker 操持了镜像堆栈,docker hub 是公共的托管堆栈。
    软件操持好以后怎么快速安装启动,出现标题时回滚呢?

     将 docker 须要的全部信息操持一套软件格式,把全部的依赖搞进去,并打上版本标签,如许不会换一个服务器各种标题,以是 Docker 操持了镜像。
    差异的开辟情况怎样搭建呢?

     docker 操持了镜像来应对,镜像内里存放了须要运行的情况,就像我们的 iPhone 内置 IOS,华为 Mate 50 内置鸿蒙一样,一条下令就可以完成某个情况的搭建。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表