docker注册表上有图片,其名称类似于ubuntu
或redhat
。这些映像是运行完整的操作系统还是只包含操作系统附带的实用程序?
我认为Docker使用主机操作系统,而docker镜像不应该运行操作系统。请澄清。
答案 0 :(得分:3)
Docker containers
将一个软件包装在一个完整的filesystem
中,其中包含运行所需的一切:代码,运行时,系统工具,系统库 - 可以安装在服务器上的任何东西。
与FreeBSD Jails
和Solaris Zones
类似,Linux containers
是自包含的执行环境 - 具有自己的,独立的CPU,内存,块I / O和网络资源(使用{{ 1}}内核特性) - 共享主机操作系统的内核。结果是感觉像CGROUPS
,但是减少了客户操作系统的所有重量和启动开销。
这就是说每个发行版都有自己的官方virtual Machine
图片(docker
),附带最小的二进制文件,考虑library
的最佳做法,并且已准备就绪。
示例:
如果您使用docker
,您将拥有debian base image
作为您的软件包管理员,以及apt
个存储库供您使用。
相反,如果您使用debian
,则可以使用centos base image
个yum
套餐。
请注意,上面的例子只是为了解释这个问题,并没有包括所有的差异。