Docker如何轻量化

时间:2016-01-10 02:58:51

标签: linux docker

我正在读关于码头工人的事。我了解该平台通过将依赖项和软件结合在一起,有助于消除不同软件生命周期之间的依赖关系。

在码头工人的网站上写道它重量很轻,当它将所有依赖包装在一起时,我没有明白它是如何重量轻的?

如果我的系统中有多个容器使用相同的依赖关系,即我们在所有容器中使用相同的外部库,那么是否会一次又一次地为所有容器安装该依赖项?

我是Docker的新手,因此对我来说任何帮助都会很棒。

1 个答案:

答案 0 :(得分:6)

docker有时被描述为"轻量级"与虚拟机相比,因为它:

  • 不会为每个VM启动单独的操作系统,因此启动/停止的速度更快
  • 在大多数情况下,由于共享图像中的公共图层,所需的磁盘空间更少
  • 同样由于图像分层,新应用版本的增量部署更小,因此比虚拟机更快
  • 跨容器共享内核,因此使用更少的内存

当然,这主要是营销说话,"轻量级"既不技术也不具体。拿一粒盐。

  

如果我的系统中有多个容器使用相同的依赖关系,即我们在所有容器中使用相同的外部库,那么是否会一次又一次地为所有容器安装该依赖项?

如果操作正确,多个容器将共享一个公共基础层,因此不会占用磁盘空间的那些外部库的多个副本。

  

我还有一个问题,如果我有一些微服务,那么每个微服务都会拿一个容器吗?

是的,通常每个容器有一个主进程,微服务是一个独立的进程。