menu
search
 

Docker是什么?Docker的作用

 
关键词:Docker 
 
问题:Docker是什么?Docker的作用
回答

Docker是一个开源的应用容器引擎,它让开发者可以将他们的应用和依赖打包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。

一个完整的Docker由以下几个部分组成:

1. Docker主机(Host):安装了Docker程序的机器。

2. Docker客户端(Client):连接Docker主机进行操作。

3. Docker仓库(Registry):用来保存各种打包好的软件镜像。

4. Docker镜像(Images):软件打包好的镜像,放在Docker仓库中。

5. Docker容器(Container):镜像启动后的实例成为一个容器;容器是独立运行的一个或者一组应用。

Docker使用沙箱机制,容器之间不会有任何接口。它基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。

Docker的作用主要有以下几点:

1. 更好地利用资源:虚拟机的粒度是“虚拟出的机器”,而Docker的粒度则是“被限制的应用”,相比较而言,Docker的内存占用更少,更加轻量级。

2. 为微服务定制:Docker可以很好地和微服务结合起来,从概念上来说,一个微服务便是一个提供一整套应用程序的部分功能,Docker便可以在开发、测试和部署过程中一直充当微服务的容器。甚至生产环境也可以在Docker中部署微服务。

3. 在云服务提供商之间移植:大多数的云主机提供商已经全面支持Docker。

4. 代码管道化管理:能够对代码以流式pipeline管道化进行管理,从开发者的机器到生产环境机器这个流程中都能有效管理。因为在这个流程中会有各种不同的环境,每个都可能有微小的区别,Docker提供了跨越这些异构环境以一致性的微环境,从开发到部署实现流畅发布。

5. 开发人员的生产化:在一个开发环境,我们希望我们的开发环境能更加接近于生产环境,我们会让每个服务运行在自己的VM中,这样能模拟生产环境。比如有时我们并不总是需要跨越网络连接,这样我们可以将多个Docker装载一系列服务运行在单机上最大程度模拟生产分布式部署的环境。实现应用之间的解耦,将多个应用服务部署在多个Docker中能轻松达到这个目的。

6. 提供同样类似VM的能力,但是没有任何副作用:它能让你将环境和配置放入代码然后部署,同样的Docker配置能够在各种环境中使用,这实际是将应用环境和底层环境实现了解耦。



 

免责声明:本网站部分文章、图片等信息来源于网络,版权归原作者平台所有,仅用于学术分享,如不慎侵犯了你的权益,请联系我们,我们将做删除处理!

产品系列

Product Series