这个问题不仅是Docker面试经常问的一个问题,也是我们日常工作中经常遇到的问题。Dockerfile的目的是将docker镜像构建固化,通过一个文件去定义如何去构建一个镜像。但这个流程并非没有变量。
我们分析几个常用的Dockerfile命令就会发现其中蕴藏玄机。
首先是FROM命令,这个命令看似无害,但谁能保证基础镜像不变,你依赖的第三方基础镜像很有可能会发生变化。且不说第三方公司的镜像,公司内部你也不敢保证相同镜像名称一定对应一个唯一的镜像,基础镜像也很有可能被覆盖。
其次是ADD和COPY这两个命令就更加危险了,拷贝文件到镜像里面,这个文件很有可能只是同名,文件的内容就更加无法保证。ADD甚至还会从网络下载依赖,在之前的文章 ADD和COPY区别 里面已经详细阐述了。
除此之外RUN也是一个变量,我们经常会在RUN里面执行”yum update“之类的命令,这些命令都会从网络上更新最新的依赖包,直接导致软件版本更新,做出来的镜像自然也无法保证相同。
页面更新:2024-06-11
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号