![基本操作系统 ubuntu 和 图像 ubuntu 有什么区别?](https://linux22.com/image/878005/%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%20ubuntu%20%E5%92%8C%20%E5%9B%BE%E5%83%8F%20ubuntu%20%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我刚刚开始使用 docker。
我对基本操作系统和基本映像的概念有点困惑。
我在 Mac OS 上,因此要在本地使用 docker,我必须安装 docker machine 来创建一个 vm 来运行 docker。
从本文档docker。对于本地virtualbox,默认的基础操作系统是boot2docker,对于远程,默认的基础操作系统是ubuntu 12.04+。
令我困惑的是,我可以找到一个ubuntu 图像在docker hub上。我之前的理解是docker镜像只是可以基于linux操作系统运行的应用程序。
- 但是为什么会有一个完整的操作系统映像呢?
如果我在 ubuntu 操作系统上运行 ubuntu 映像会发生什么?
还有一个问题是:docker容器会共享同一个OS内核,这就是为什么运行docker容器的成本很低。
他们共享哪个内核?是主机操作系统(基本操作系统:boot2docker)的内核还是操作系统映像(ubuntu 映像)的内核???
如果它们共享主机操作系统的内核,那么当我在 ubuntu 主机操作系统上运行 ubuntu 操作系统容器时意味着什么???
boot2docker 是 Linux 操作系统的简化版,它是否具有随机容器所需的所有功能?如果是,那么为什么要使用 ubuntu 基础操作系统?
答案1
为了方便起见,有默认的基本操作系统。
- 对于 Oracle Virtual Box 驱动程序,这个基本操作系统是 boot2docker.iso。
- 对于用于连接云提供商的驱动程序,基本操作系统是 Ubuntu 12.04+
这是两种不同的环境,正如我在“容器即服务 (Caas)“:
- 非 Linux 主机将使用基于 TinyCore 的 BM,称为 boot2docker:在其中您可以运行 docker 守护进程并根据您想要的任何映像(ubuntu 或其他)启动任何容器
- 这云主办方,即云提供商,基本操作系统是提供商支持的最新 Ubuntu LTS。因此是 Ubuntu 12.04。
要在远程提供商上使用不同的基本操作系统,请指定提供商的映像标志及其可用映像之一。例如,要debian-8-x64
选择数字海洋您需要提供 --digitalocean-image=debian-8-x64 标志。
在所有环境中,目标是提供足够新的 Linux 内核来支持 docker 功能,从而允许任何 docker 镜像将其系统调用委托给内核。