我怎样才能使用基础的形象来创build我自己的没有依赖?

我对这个docker形象有点困惑:

FROM java:latest 

我正在运行一个Java应用程序,并以某种方式安装了它的nginx。 我如何查看这个图像的细节?

我认为这是一个糟糕的做法,只能依靠一个你没有控制权的图像,如果它改变了你的部署将打破对吗?

如果你去Hub.Docker.com你可以find你的Java回购 。 在那里寻找“最新”的标签,你会看到一个到Dockerfile的链接。 你可以检查一下它是如何构build的。

要查看任何图像的细节,我build议使用MicroBadger

一旦图像来自可靠的源代码(比如java),这并不是一个坏习惯,你可以随时检查看看Dockerfile的内容是什么。

为了不冒险破坏你的应用程序,你可以指定你正在使用的图像的版本,而不是使用最新的版本。 你将能够以一种安全的方式更新/testing它。

如果你想对你正在使用的图像有更多的控制权,你可以从更基本的图像开始(我使用alpine-linux很多,比它小得多),然后添加你想要的,你的应用程序需要的包,你正在使用的jvm / jre等等