base os ubuntu 和 image ubuntu 有什么区别?

Aar*_*hen 5 docker

我刚开始使用 docker。

我对基本操作系统和基本图像的概念有些困惑。
我在 mac os 上,所以要在本地使用 docker,我必须安装 docker 机器来创建一个 vm 来运行 docker。

来自docker 的这个文档。对于本地 virtualbox,默认基础操作系统是 boot2docker,对于远程,默认基础操作系统是 ubuntu 12.04+。

让我困惑的是我可以在 docker hub 上找到一个ubuntu 镜像。我之前的理解是 docker 镜像只是可以基于 linux 操作系统运行的应用程序。

  1. 但是为什么有一个完整的操作系统的图像???
    如果我在 ubuntu 操作系统上运行 ubuntu 映像会发生什么???

另一个问题是:docker 容器将共享相同的操作系统内核,这就是为什么运行 docker 容器的成本非常低的原因。

  1. 他们正在共享哪个内核?它是主机操作系统的内核(基本操作系统:boot2docker)还是操作系统映像的内核(ubuntu 映像)???

  2. 如果他们共享主机操作系统的内核,那么当我在 ubuntu 主机操作系统之上运行 ubuntu 操作系统容器时意味着什么???

  3. boot2docker 是 linux 操作系统的精简版,它是否具有随机容器所需的所有东西???如果是,那为什么要使用 ubuntu 基础操作系统???

小智 0

\n

为了方便起见,有默认的基本操作系统。

\n
\n\n
    \n
  • 对于 Oracle Virtual Box 驱动程序,此基本操作系统是 boot2docker.iso。
  • \n
  • 对于用于连接到云提供商的驱动程序,基本操作系统是 Ubuntu 12.04+
  • \n
\n\n

这是两种不同的环境,正如我在“容器即服务 (Caas) ”中所描述的:

\n\n

2015 年欧盟 DockerCon

\n\n
    \n
  • 非 Linux 主机将使用基于 TinyCore 的 BM,称为 boot2docker:在其中您可以运行 docker 守护进程并启动基于您想要的任何映像(ubuntu 或其他)的任何容器
  • \n
  • 主机,即提供商,基础操作系统是提供商支持的最新 Ubuntu LTS。因此 Ubuntu 12.04。
    \n若要在远程提供程序上使用不同的基本操作系统,请指定提供程序\xe2\x80\x99s 映像标志及其可用映像之一。例如,要在DigitalOceandebian-8-x64上选择图像,您需要提供 --digitalocean-image=debian-8-x64 标志。
  • \n
\n\n

在所有环境中,目标是提供一个足够新的 Linux 内核来支持 docker 功能,允许任何 docker 映像将其系统调用委托给内核

\n