2015-10-28 26 views
3

有许多非常小的Linux Docker镜像,大约在4-5M左右,而“完整”的发行版大约从100M开始,爬到两倍。运行时小型Docker镜像有多重要?

从回购仓库中预留存储空间和下载时间,是否有对小图像和大图像的运行时间考虑?例如,如果我有一个已编译的Go程序,一个在Busybox上运行,另一个在Ubuntu上运行,并且我在一台机器上运行它们中的10个,以何种方式(如果有)比一个图像很小而另一个很漂亮重?一个人消耗更多的运行时资源吗?

回答

0

我从来没有看到在消费其他资源比存储,如果图像是更大的,但是RAM任何真正区别,为什么有未使用的混乱在容器中的大开销Docker容器应该是单一的过程?

当修剪下来的东西到小容器,有可能会考虑一些优点:

  • 部署时更快的传输
  • 成本(尤其如果你wan't做滚动升级很重要的。):最一次,我用大容器,我跑正好到存储问题上小的虚拟机
  • 分布式文件系统:使用某些文件存储像GlusterFS或其他附加存储,大容器减速,当bootet和更新的大量
  • 的大量开销DA ta:如果你有500 MB的杂乱,你会在你的开发机器,你的CI/CD-Server,注册表和生产服务器的每个节点上都有。这可能取决于你的使用情况。

我会说:如果你只是在内部使用一小撮容器,那么尺寸就不那么重要了,如果有的话,比在生产中使用容器的胡扯更重要。

+0

我有时在一个容器中运行多个进程(支持受监视的进程)。我想我要问的是,如果我有1G图像和5M图像保存相同的编译Go脚本,Docker会在启动图像时消耗1G/5M的RAM,或者无论是哪种情况都足以运行Go程序?我可能需要100个这样的程序,所以我想知道我需要运行这些程序的盒子的数量是否取决于我的代码或Docker镜像的大小。 – Greg