Docker:为什么在容器中安装linux dist?

我开始了解docker,据我所知Docker容器在容器安装的defualt linux dist上运行 – 在我的情况下,它是一个mac OS x轻量级dist,它带有docker工具箱。

那么,为什么我会看到许多docker文件实际上在容器中安装了一个distrib,这是不是打败了保持轻量级的对象呢?

例如,这里是一个docker文件开始…

FROM debian:jessie 

所以这是在基于debian的容器内安装一个docker镜像。

例如,我也看到许多其他人使用ubuntu

这一步不能被绕过,直接在容器中安装的软件使用下面的容器是安装程序的Linux分区?

预先感谢您的澄清

因为,就像物理或虚拟机器一样,build立一个用户级环境将是一个没有分配的痛苦。

这是IMO,docker工人的强大优势之一:为特定的应用select最合适的分配。

一个容器化的应用程序可能会有依赖关系。 要安装这些依赖项,有一个包pipe理器很有帮助。 默认情况下,许多发行版中还包含一些依赖项,这使得容器创build者(应用程序)可以select自己的发行版。

另外,请记住,打包整个发行版并不一定会浪费大量资源:

  • Docker镜像被存储为针对共同基线的增量,意味着基于debian:jessie两个镜像可以重新使用相同的数据作为基准。
  • 分布实际上并不大,因为它们通常是整个系统映像的缩小版本。

如果你真的想创build一个最小的图像,请尝试busybox 。 但是,对于任何真实世界的容器图像,您都会经常发现自己的速度非常快。