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 等行业巨头和国内的众多公司。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |