Docker 是什么
发布时间:2023-06-05 12:56:44 所属栏目:教程 来源:
导读:Docker 项目诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目,基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。
Docker
Docker
|
Docker 项目诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目,基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。 Docker 是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上。 它生动描述了 Docker 这个产品的本质:软件行业的集装箱。 集装箱是指具有一定强度、刚度和规格专供周转使用的大型装货容器。对于绝大多数的货物,我们不需要专门定制化运输船。在一艘大型货船上,各种各样的货物被集装箱标准化,可以把货物规整地摆放运输,各个集装箱之间互相隔离,不会影响。 我们将 Docker 与集装箱做个类比,方便我们理解 Docker: 传统行业集装箱 Docker 货物的实体 软件应用和自身运行依赖的环境 具有统一的规格,便于运输 运行环境的统一性 与外界环境隔离 容器之间互不影响 一个新技术的普及过程中,除了带有技术本身的酷炫色彩,一定也伴随着生产效率的提升和成本的降低。 在软件产品的传统开发流程中,软件从开发到上线,从操作系统安装,到运行环境依赖,再到应用配置,需要消耗大量技术资源在很多琐碎无意义的运维工作上。 随着虚拟机和云计算的普及,许多公司开始租用 AWS 或 OpenStack 的虚拟机,用脚本在这些机器上自动化部署,但这个过程中会碰到云端虚拟机和本地环境不一致的问题, 解决起来依旧费时费力。 为了解决这些问题,PaaS 平台服务(Platform-as-a-service)诞生了。 PaaS 有应用托管的能力,提供与开发环境相同的运行环境。PaaS 会为每一个应用单独创建一个隔离环境,然后在隔离环境中启动这些应用进程,从而达到多个用户的应用互不干涉地在虚拟机里批量、自动运行起来的目的。 而 Docker 属于新一代的 PaaS 项目, 它脱胎于 Linux Container (LXC)技术,与先前的 PaaS 不同的是,Docker 把 Cgroups、Namespace 和 UnionFS 等一系列技术整合起来,极大地降低了容器技术的复杂度,提升了开发者的用户体验。Docker 公司定义了以容器镜像为标准的应用打包格式,并且建立 Docker Hub 服务进行镜像分发和协作。这些举措迅速创建了一个良好的社区和合作伙伴生态圈,其中包括 AWS、Google、Microsoft、IBM 等行业巨头和国内的众多公司。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
