千家信息网

Docker容器的由来

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,今天小编给大家分享的是Docker容器的由来的详细介绍,相信大部分人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,话不多说,一起往下看吧。一、docker的介绍2010年dotCloud公
千家信息网最后更新 2026年11月04日Docker容器的由来

今天小编给大家分享的是Docker容器的由来的详细介绍,相信大部分人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,话不多说,一起往下看吧。

一、docker的介绍

2010年dotCloud公司在旧金山成立,PAAS平台的服务供应商;2013年dotCloud更名为Docker股份有限公司(Docker,Inc)。Docker公司专注开源容器引擎的开发,他们的容器引擎产品就叫docker,基于go语言,并遵从Apache2.0协议。

创始人 Solomon

上一篇文章我们跟大家介绍了什么是容器技术,容器技术的底层支持其实就是Linux Container(LXC)技术,LXC技术在 linux 2.6 的 kernel 里就已经存在了,但是LXC设计之初并非为专门为PAAS云计算考虑的,所以LXC缺少一些标准化的管理手段,那时候LXC想用好非常费劲。于是,docker发现了这点,然后针对LXC做了上层标准管理方面的支持,让LXC更加好用。

那么为什么dotCloud公司能发现这个机遇搞出个docker然后声名大噪呢?就像为什么马云能在中国、在合适的时间创立了阿里巴巴,做了中国首富... 其实,这都是时代的造就。我们深入分析IT架构的发展变革史就能明白一些东西了。

早期,我们IT行业要成功开发出一个产品,那么要关心的的东西太多了。机房选址、服务器硬件、网络设备、布线、上架、装系统、搭环境、开发、测试... 只要是跟IT相关的你都得去关心安排好。这个时期是传统IT管理与建设的初期,IT资源成本很高,涉及的人才成本也高。

图1 早期机房建设和维护工作

云计算IAAS时代,AWS、腾讯云、阿里云的出现解决了早期传统IT管理的痛苦,用户有了云将不再面对硬件底层管理的问题,开发和测试都是在云主机上操作。然而,云主机就是一个个不一样的操作系统,硬件底层管理问题没有了,但是中间件相关的问题依然存在!IT运维人员要为开发测试人员提供完善的、稳定的云主机环境,这个过程也是相对复杂的,因为开发测试人员要求的环境也是多种多样,IT运维人员需要花费一定的时间和精力去维护和完善。当前大部分公司还是处在这个阶段。


虚拟机 vs 容器 架构区别

容器PAAS时代,这个时代即将到来!(其实,已经来了)。容器技术的出现就是为了解决上面两个时期遗留的痛点问题。有了容器技术,开发者更加专注于程序的开发和测试,开发结束后能快速方便的把开发好的APP迁移到另外一个容器环境里。简单来说,开发人员只需为应用创建一次运行环境,就可以在任何环境里运行;Build Once, Run Anywhere。对于IT运维人员来说,也是好事!再也不用苦逼的为开发人员搞一套又一套不一样的开发环境了,搞出一套PAAS平台,随便让开发使,他们再怎么折腾也不会改变底层的东西,所以不用花大力气去维护这些环境;Configure Once, Run Anything。既然这个容器PAAS这么牛逼,那么想做的人也是非常多,docker公司之所以能占领先机搞定,主要是因为它在这领域有一定的积累,之前也跟CoreOS合作过(CoreOS也是做容器技术方面很牛的公司,后来跟docker分道扬镳,Rocket是CoreOS发布的跟docker竞争的产品)。所以,在云计算PAAS风口上,docker在合适的时间通过自己的技术积累发布了这套开源容器管理引擎,想不出名也难了!

二、 docker的组成架构

docker设想是交付运行环境如同海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造。这样,交付一个软件,就是一系列标准化组件的集合的交付,如同乐高积木,用户只需要选择合适的积木组合,并且在最顶端署上自己的名字(最后个标准化组件是用户的app)。

要实现这样的集装箱货轮海运的功能,那么docker是如何去设计如何区做的呢?我们先从docker的架构说起。

docker主要由以下模块组成:

  • Docker 客户端 - Client

  • Docker 服务器 - Docker daemon

  • Docker 镜像 - Image

  • Docker 仓库 - Registry

  • Docker 容器 - Container


docker经典架构图

Docker 采用的是 (C/S) 架构模式,使用远程REST API来管理和创建Docker容器。既然是采用REST模式,所以客户端和服务端可以不用在一个host上,可以分布式管理部署。

Docker 客户端 - Client

docker的客户端分命令和API两种类型。docker 的命令一般在系统安装好docker包后就可以使用,linux下直接是docker开头,可以用docker --help命令查看所有能运行的命令。docker的命令也非常好记,跟linux命令一样,用多了自然就会了;而且学习docker最好的也是从命令入手。

docker的API一般是写脚本或者开发的时候用比较多,而且都是REST风格的,用命令交互的话可以结合CURL使用。用API能做创建、删除、修改、查询等一系列操作,不过还得结合编程语言使用才会比较强大。

Docker 服务器 - Docker daemon

docker daemon就是docker的主服务,docker.service。在linux操作系统下,安装好了docker服务我们就可以使用systemctl start/status/stop docker.service去操作docker的服务。这个服务非常重要,如果你系统的docker.service存在异常,那么你的所有docker关联的组件都会出错。

Docker 镜像 - Image

docker的镜像这个很容易理解,如果你玩过vmware或者openstack的话就很容易懂了,vmware和openstack都有镜像模版的概念,我们要衍生创建虚拟机,就可以通过镜像模版来快速部署和生成相同类型的VM。docker的image也是一个道理,通过不同类型的模版,比如redis镜像、nginx镜像来快速创建出容器。好比复制克隆,只要资源够,想生成多少就多少。生成出新的容器你可以使用,然后到时候你又可以打包成镜像。有了镜像这个功能,为生产提供了很好的打包、迭代、传递方式。

Docker 仓库 - Registry

Registry就是仓库的意思,我们上面提到docker有镜像,那么镜像会因为业务的需要以不同类型的方式存在。所以,这么多类型的镜像如果没有一个很好的机制去管理,那么肯定会乱套。好比一生产车间,生产需要各种各样的螺丝钉、齿轮等配件,如果没有一个很好的仓库管理员负责对配件进行管理,那么车间里将乱七八糟。同样的,docker 镜像也需要标准化管理,那么负责这块功能的模块就是Registry。不过,要注意的是Registry分共有和私有两种。Docker Hub(https://hub.docker.com/) 是默认的 Registry,由 Docker 公司自己维护,上面有数以万计的镜像,用户可以自由下载和使用。 不过,使用公有镜像速度会很慢(加上GFW的原因),一般公司内部使用docker的话都得搭建私有仓库,不然很影响效率。

Docker 容器 - Container

Container就是容器实例了,类比KVM生成的虚拟机。Container是运行时状态,我们可以通过docker命令和API去控制和改变Container的状态,比如start、stop等等。上面所讲的client、daemon、image 和registry都是为了Container的运行稳定而服务的。

以上就是Docker容器的由来的详细介绍了,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注行业资讯!

容器 镜像 开发 管理 环境 服务 公司 命令 就是 人员 技术 运行 架构 标准 用户 仓库 系统 标准化 测试 客户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南真二互联网科技有限公司 腾讯阿里互联网科技 青岛互联网科技公司 中国互联网科技发展 华中科技大学互联网 奇酷互联网络科技公司 国外互联网科技网站 深圳市运趣互联网科技有限公司 互联网科技热点资讯 互联网科技中介 上海宁丞科技互联网 苏州铭阳互联网科技有限公司 广西互联网科技孵化中心 允成互联网科技有限公司融资 中和天地互联网科技有限公司 宇信科技在杭州互联网排第几 上海乐五互联网科技有限公司 保山互联网科技靠谱吗 长沙易易互联网科技有限公司 银川新华互联网科技学校招聘 北京路客互联网科技有限公司 疫情对互联网科技公司影响 互联网科技股午盘股票涨跌 深圳市运趣互联网科技有限公司 以后互联网后是啥科技 互联网金融科技展 浙南科技城互联网大厦建设工程 图游互联网科技 互联网金融金融科技 互联网科技创业有什么好项目
0