docker是干什么的

如题所述

docker是开源的应用容器引擎,能更好地在容器内运行任何应用。

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker是 PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是Redhat在RHEL6.5中集成对Docker的支持,就连Google的 Compute Engine也支持docker在其之上运行。

Docker的局限

1、Docker是基于Linux64bit的,无法在32bit的linux/Windows/unix环境下使用。

2、LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的。

3、隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库。

4、网络管理相对简单,主要是基于namespace隔离。

5、cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)。

6、Docker对disk的管理比较有限。

7、container随着用户进程的停止而销毁,container中的log等用户数据不便收集。

温馨提示:答案为网友推荐,仅供参考
相似回答