Docker系列8:Docker File基础
admin
2023-03-27 04:21:13
0

一、DockerFile简介

1、简介

什么是docker file

  • docker file仅仅就是一些文本指令而已

  • 将这些指令保存成一个文本文件

  • 然后通过在命令行中调用这些文本文件完成创建docker镜像

docker file的组成结构

  • # 表示注释信息

  • 指令 参数

  • 一行一个指令,指令通常写成大写,但是其实大小写不敏感

  • docker file中的第一个非注释行必须是FROM(这是用来指定基础镜像,因为我们知道制作镜像都是基于一个基础镜像来做的。)

  • docker file中的内容是从上向下依次执行

docker file使用要求

  • 第一个要求:就是,第一要有工作目录,目录中要有docker file文件,首字母要大写,如下

  • 第二个要求:必须将需要用到的相关文件都放在这个目录或者子目录中,比如我们要在容器中安装rpm包和配置文件,都必须放在这里

  • 在制作镜像的时候,如果是将一个子目录做入的镜像中,那么子目录下的全部文件都会做入镜像。

    Docker系列8:Docker File基础

有个特殊情况,如子目录中的有些文件我们并不想做入到镜像中,那么此时就可以将这些文件排除掉

  • 工作目录下,还应该有个隐藏文件:dockeringore

  • 这个文件就可以实现将指定的文件不要做入到镜像中

  • 方法就是将需要忽略的文件的路径一行一个的写入到这个隐藏文件中

当工作目录准备好一会,就可以制作镜像了

  • 可以通过执行命令docker build通过读取这个docker file文件来制作镜像

  • 然后将这个做好的镜像打个标签,然后推到仓库中,然后就可以用了

  • 在用docker build制作镜像的时候,其实也会悄悄地启动一个容器,然后在这个容器中执行安装配置操作,然后将安装好的结果做成一个镜像

  • 在制作镜像的时候,是可以执行一些shell命令的,但是需要注意,这些命令并不一定有,就要看底层的基础镜像中是否有这个命令。

在docker file中也是支持使用变量的

  • 定义变量:var=value

  • 引用变量:$var 或者 ${var}

也支持变量的一些高级用法

  • ${var:-value}  如果变量没有定义或者变量值为空,那么就输出后面的值

  • ${var:+value}  如果变量已经有值了,就将value赋值给变量


相关内容

热门资讯

特朗普下令不打了,美国的“余粮... 可以说戛然而止,快得让很多人都无法适应。前两周,每一天美国都要打击伊朗一通。就在7月24日白宫会议前...
穆杰塔巴最新表态:支持黎真主党 △伊朗最高领袖穆杰塔巴·哈梅内伊(资料图)当地时间7月26日晚,伊朗最高领袖穆杰塔巴·哈梅内伊对黎巴...
美军瘫痪一艘驶向伊朗的油轮,特... 美国总统特朗普虽下令暂停打击伊朗,但美军仍在执行对霍尔木兹海峡的封锁任务。针对美军瘫痪一艘驶向伊朗油...
“小牌大耍”的底气到底是哪里来... 澎湃首席评论员 李平这两天,“艺人李权哲乘高铁占座事件”在网上引发热议,该艺人参加的活动主办方曾发布...
越南籍船舶南海遇险沉没,中方已... 据凤凰卫视报道,一艘越南船舶7月24日夜间在越南庆和以东220海里附近遇险沉没,船上共62名越南籍人...
李权哲占座、蒙面、装死:娱乐圈... 你买了一张高铁一等座的票,找到自己的位置,18A。有人坐着。你拿出手机看了眼购票记录——没错,18A...
杭州景区咖啡店闯入1条幼蛇,仅... 夏天气温高、湿度大,蛇类活动进入高峰期,千万别被“小蛇无害”的刻板印象骗了!有些幼蛇看着迷你可爱,实...
AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...