Docker经典面试题:相同的Dockerfile能保证构建出相同的镜像吗?

这个问题不仅是Docker面试经常问的一个问题,也是我们日常工作中经常遇到的问题。Dockerfile的目的是将docker镜像构建固化,通过一个文件去定义如何去构建一个镜像。但这个流程并非没有变量。

Docker经典面试题:相同的Dockerfile能保证构建出相同的镜像吗?

我们分析几个常用的Dockerfile命令就会发现其中蕴藏玄机。

首先是FROM命令,这个命令看似无害,但谁能保证基础镜像不变,你依赖的第三方基础镜像很有可能会发生变化。且不说第三方公司的镜像,公司内部你也不敢保证相同镜像名称一定对应一个唯一的镜像,基础镜像也很有可能被覆盖。

其次是ADD和COPY这两个命令就更加危险了,拷贝文件到镜像里面,这个文件很有可能只是同名,文件的内容就更加无法保证。ADD甚至还会从网络下载依赖,在之前的文章 ADD和COPY区别 里面已经详细阐述了。

除此之外RUN也是一个变量,我们经常会在RUN里面执行”yum update“之类的命令,这些命令都会从网络上更新最新的依赖包,直接导致软件版本更新,做出来的镜像自然也无法保证相同。

Docker经典面试题:相同的Dockerfile能保证构建出相同的镜像吗?

展开阅读全文

页面更新:2024-06-11

标签:被覆   都会   可能会   日常工作   玄机   变量   公司内部   命令   流程   定义   区别   名称   文件   基础   经典   科技   网络

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top