Dockerfile指令详解和构建新镜像问题-创新互联

一、Dockerfile指令详解
众所周知,Dockerfile文件是利用基础镜像来构建新的镜像的,这篇博客只记录博主一些遇到过的问题和一些自己的理解(会持续更新...);需要了解Dockerfile的每个指令的话,可自行google一下,多的是,估计都是抄的。

成都创新互联是一家集网站制作、网站设计、网站页面设计、网站优化SEO优化为一体的专业网站制作公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。

2.RUN指令和CMD,ENTRYPOINT指令区别
查了下网上写的,大部分都说RUN是docker build命令执行时运行的指令,而CMD,ENTRYPOINT是docker run命令执行时运行的指令,不仅很绕,而且抽象不好理解;在这里给两个不同Dockerfile文件实例,来更具体理解这几个指令区别:

1)RUN指令的Dockerfile文件.

#version 1.0.0.1
FROM nginx
MAINTAINER XXXXXX@163.COM
RUN apt-get update
RUN apt-get install openssh-server
EXPOSE 22

像上面这种带有RUN指令的Dockerfile文件,在构建镜像时,cd进入到Dockerfile文件所在路径,使用docker build命令:
docker build -t="new_nginx:new_latest" .
new_nginx:新镜像名
new_latest:新镜像版本
最后点号.表示在当前目录下寻找Dockerfile文件

这就解释了,RUN指令是在执行docker build过程中被运行;

二、Dockerfile构建新镜像问题
1.构建时的上下文问题
在官方文档中,经常出现的一个术语叫做构建上下文,所谓上下文就是指构建所依赖环境;比如说,Dockerfile所在目录就是一种上下文,用Dockerfile构建新镜像时,会用到一些文件或者脚本,这些文件或脚本必须和Dockerfile文件在同一目录;
编码开发过程中也有上下文的概念,其含义上某些代码运行时需要的变量、函数等;这两个上下文的概念大体上含义是相同的——就是构建或运行时,所依赖的其他东西;
https://www.jianshu.com/p/5f79b573c2fb

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:Dockerfile指令详解和构建新镜像问题-创新互联
本文网址:http://scyanting.com/article/dpoehd.html