Docker系列8:DockerFile基础-创新互联
一、DockerFile简介
创新互联,是成都地区的互联网解决方案提供商,用心服务为企业提供网站建设、成都app软件开发公司、小程序制作、系统按需求定制开发和微信代运营服务。经过数十载的沉淀与积累,沉淀的是技术和服务,让客户少走弯路,踏实做事,诚实做人,用情服务,致力做一个负责任、受尊敬的企业。对客户负责,就是对自己负责,对企业负责。1、简介
什么是docker file
docker file仅仅就是一些文本指令而已
将这些指令保存成一个文本文件
然后通过在命令行中调用这些文本文件完成创建docker镜像
docker file的组成结构
# 表示注释信息
指令 参数
一行一个指令,指令通常写成大写,但是其实大小写不敏感
docker file中的第一个非注释行必须是FROM(这是用来指定基础镜像,因为我们知道制作镜像都是基于一个基础镜像来做的。)
docker file中的内容是从上向下依次执行
docker file使用要求
第一个要求:就是,第一要有工作目录,目录中要有docker file文件,首字母要大写,如下
第二个要求:必须将需要用到的相关文件都放在这个目录或者子目录中,比如我们要在容器中安装rpm包和配置文件,都必须放在这里
在制作镜像的时候,如果是将一个子目录做入的镜像中,那么子目录下的全部文件都会做入镜像。
有个特殊情况,如子目录中的有些文件我们并不想做入到镜像中,那么此时就可以将这些文件排除掉
工作目录下,还应该有个隐藏文件:dockeringore
这个文件就可以实现将指定的文件不要做入到镜像中
方法就是将需要忽略的文件的路径一行一个的写入到这个隐藏文件中
当工作目录准备好一会,就可以制作镜像了
可以通过执行命令docker build通过读取这个docker file文件来制作镜像
然后将这个做好的镜像打个标签,然后推到仓库中,然后就可以用了
在用docker build制作镜像的时候,其实也会悄悄地启动一个容器,然后在这个容器中执行安装配置操作,然后将安装好的结果做成一个镜像
在制作镜像的时候,是可以执行一些shell命令的,但是需要注意,这些命令并不一定有,就要看底层的基础镜像中是否有这个命令。
在docker file中也是支持使用变量的
定义变量:var=value
引用变量:$var 或者 ${var}
也支持变量的一些高级用法
${var:-value} 如果变量没有定义或者变量值为空,那么就输出后面的值
${var:+value} 如果变量已经有值了,就将value赋值给变量
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站标题:Docker系列8:DockerFile基础-创新互联
本文来源:http://cdiso.cn/article/ehscp.html