Docker是否拥有完整的操作系统?容器VS虚拟机

时间:2017-01-05 06:01:41

标签: docker

docker注册表上有图片,其名称类似于ubunturedhat。这些映像是运行完整的操作系统还是只包含操作系统附带的实用程序?

我认为Docker使用主机操作系统,而docker镜像不应该运行操作系统。请澄清。

1 个答案:

答案 0 :(得分:3)

Docker containers将一个软件包装在一个完整的filesystem中,其中包含运行所需的一切:代码,运行时,系统工具,系统库 - 可以安装在服务器上的任何东西。

FreeBSD JailsSolaris Zones类似,Linux containers是自包含的执行环境 - 具有自己的,独立的CPU,内存,块I / O和网络资源(使用{{ 1}}内核特性) - 共享主机操作系统的内核。结果是感觉像CGROUPS,但是减少了客户操作系统的所有重量和启动开销。

这就是说每个发行版都有自己的官方virtual Machine图片(docker),附带最小的二进制文件,考虑library的最佳做法,并且已准备就绪。

示例:

如果您使用docker,您将拥有debian base image作为您的软件包管理员,以及apt个存储库供您使用。

相反,如果您使用debian,则可以使用centos base imageyum套餐。

请注意,上面的例子只是为了解释这个问题,并没有包括所有的差异。