使用phusion / baseimage仍然值得吗?

时间:2016-12-29 18:23:55

标签: php mysql nginx docker phusion

我的问题很简单:为什么要使用phusion/baseimage

我已经阅读了该网站。我已经满身都是。它的销售优于基础,专为Docker而专门设计。话虽如此:那么为什么现在还没有正式使用它?

phusion/baseimage现在已经出来了一段时间,但是php,mysql等的官方版本仍然直接使用debian或ubuntu ...为什么?

我没有找到任何从phusion / baseimage继承自己的简单docker-esque(单实例)包。 php7和nginx直接使用debian:jessie。 mysql使用ubuntu。

phusion/baseimage的重点是远离完全膨胀的" VM"容器

所以,我的问题是:使用phusion/baseimage仍然值得吗?

2 个答案:

答案 0 :(得分:7)

考虑的理由:

  • 我个人不希望将packages全部放在我的docker image中,除非我 知道我需要他们。您SSH ServerPHP7中的示例Nginx 提及。它不是vm,而是container
  • 看起来他们正试图让container像一个完整的VM一样长 与multi services一起运行。 Docker哲学正在使用 microservices,并将它们分成多个containers,这有很多优点,例如:故障隔离,更容易升级,扩展等。
  • 修复APT:此修复程序也在官方ubuntu映像中。
  • 这些图像带来了许多复杂情况,并消除了microservices design的简单性。我相信它会妨碍你。

我建议将library images用于已知技术,即。 PHPApache等。使用此{+ microservices将有助于您长期工作。现在,如果您想制作自己的图片,我建议使用library base images,例如alpine,以便轻量级,或debian因为所有库图像都基于它们。

您有另一个名为scratch的选项:

您可以使用Docker的保留minimal imagescratch作为构建containers的起点。使用scratch图像向构建过程发出信号,希望Dockerfile中的下一个命令成为first filesystem layer中的image

虽然scratch的{​​{1}}存储空间中显示Docker,但您无法hub,运行它或标记名称为{{{{}}的任何图像1}}。相反,您可以在pull

中引用它
scratch

答案 1 :(得分:1)

我不确定幻觉的任务是减少臃肿 - 它总是臃肿。

当我开始搞乱码头工作时,生态系统要小得多。 Phusion是一个有趣的图像,它展示了在单个容器中运行的多个服务,一个用于远程访问的正常SSH服务器(在更容易跳入正在运行的容器之前的方式)。

Debian / Ubuntu非常适合运行稳定的服务器。对于集装箱/服务而言,它们非常臃肿。

目前,作为一名IT专业人士 - 我认为没有令人信服的理由使用错误,除非是为了一些学习。我宁愿拥有/理解我的容器。