2016-12-29 118 views
3

我的问题很简单:为什么使用phusion/baseimage使用phusion/baseimage还是值得的吗?

我已阅读该网站。我已经全力以赴了。它的销售比基础更好,专门为Docker构建的ultraslim。这就是说:那么为什么现在不使用官方版本呢?

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

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

phusion/baseimage的整点是摆脱基于“虚拟机”容器的完全膨胀。

那么,我的问题又是:是用phusion/baseimage还是值得的?

回答

4

原因考虑:

  • 我个人不希望把所有的packages在我docker image除非我 知道我需要他们。示例SSH ServerPHP7Nginx您提到的 。这不是vm,它是container
  • 看起来他们正试图使一个container像一个完整的​​,与multi services运行长 。 Docker理念是使用 microservices,并在多个containers分开,这有一个像很多优点:故障隔离,更容易升级,缩放等
  • 修复APT:此修复程序是Ubuntu官方形象了。
  • 这些图像带来了很多复杂情况,并删除了简单的microservices design。我相信它会阻碍你。

我建议使用library images已知的技术,即。 PHPApache等。使用此+ microservices将有助于您的长期。现在,如果您想制作自己的图片,我推荐使用librarybase images,如alpine,因为它很轻,或者因为amost所有库图片都基于它们,所以debian

您有一个名为scratch另一种选择:

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

虽然scratch出现在Docker的仓库在hub,你不能pull,运行它,或者用名称scratch标记任何图像。相反,你可以在你的Dockerfile中参考它。

FROM scratch 
... 
+0

你有什么建议?我都是耳朵。我正在计划将我的个人网站放在码头图像上,我正在研究最佳路线。 – guice

+0

我建议为已知技术使用库图像,即。 'PHP','Apache'等。使用这个+'microservices'将有助于你的长期发展。现在,如果你想制作自己的图像,我建议使用像'alpine'这样的库基本图像,因为轻量级或'debian',因为所有库图像都是基于它们的。 –

0

我不确定phusion的使命是减少膨胀 - 它总是膨胀。

当我开始与码头工人打交道时,生态系统变得非常小巧了。 Phusion是一个有趣的图像,演示了在一个容器内运行多个服务,一个可用于远程访问的正在运行的SSH服务器(在更容易跳到正在运行的容器之前的方式)。

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

目前,作为IT专业人员 - 我没有看到使用phusion的令人信服的理由,除了可能用于某些学习。我宁愿拥有/理解我的容器。

+0

“[Debian/Ubuntu]对于容器/服务来说是非常臃肿的。” “我宁愿拥有/理解我的容器。” - 那你在用什么?你必须从一个FROM开始。 – guice

+0

您可以使用静态二进制文件开始“从头开始”。 [Go](https://golang.org/)适合这种设置。 – Matt

+1

我尽可能使用高山linux。 – user2105103