在我的IT团队通过码头部署许多应用程序的一种情况下。我们有我们自己的码头图片,以及来自互联网注册表的其他图片。码头图像层次管理
一(基地)图像可能是一个操作系统图像,而另一个可能是一个运行时框架(用于Java,红宝石,等...),还有一个可能是一些专用工具(如git,一些库)。然后,最后,我们有我们的应用程序的图像。
这意味着我们的容器层次结构是这样的:
- 应用
FROM
工具和(ADD . /app)
- 工具
FROM
框架 - 框架
FROM
OS - OS为基础容器
每容器有它自己的D ockerfile。
然后如果我们需要创建另一个app2
,我们可以重新使用我们的框架容器。好。
但如果app3
走来,用很少的差异相似frameworks2容器从框架,那么我们就结束了与其它图像framework2。
这使得使用版本图像及其基础来控制应用程序的版本变得非常困难。
最后,我只选择了一个Dockerfile。从操作系统的应用程序,它使一切,它的Dockerfile与应用版本。
任何人有其他想法?