运行两个dockerfiles的结果

我已经学习了一段时间了,最​​近我被问了下面的问题:

如果你用Docker文件下载一个镜像到你的机器上,你会怎么想呢?然后创build一个新的Dockerfile并尝试'docker run'这个镜像来创build一个容器? 哪个Dockerfile将被Docker使用?

我不完全确定上述问题的答案是什么,有人可以告诉我,上述问题的正确答案是什么?

谢谢。

亚历克斯-Z。

我会尽力回答这个问题。

我不认为这种情况会发生,因为Dockerfile是在图像生成过程中单独使用的。

一旦你运行docker build . 给定一个Dockerfile,图像是自给自足的。 即便如此,docker也不可能直接docker run Dockerfile。 它必须是一个已经构build好的映像(工具可以帮助你一步完成编排,比如Docker Compose,不要改变这个事实)。

所以,如果你试图运行一个你刚才拖拽的图片,而在你的目录中有一个Dockerfile,基本上没有什么错误会发生。 一个新的容器将运行使用指定的图像,这一切

请记住,只有一个Dockerfile可用于构build映像,在一个目录中没有两个Docker文件。

当你下载一个Docker镜像时,Dockerfile不会被下载,但是镜像会被添加到你的本地registry中。 该映像可以用来进一步扩展您在Dockerfile中使用FROM下载的Docker镜像,或直接使用镜像运行容器。