Docker系列——Dockerfile中可使用的所有指令(19个=2个注释类+17个)(未完成)

指令2个注释类指令syntax17个非注释类ARGFROMLABELENVUSERVOLUMEEXPOSEWORKDIRRUNADDCOPYCMDENTRYPOINTONBUILDSTOPSIGNALHEALTHCHECKSHELL2个注释类指令syntax17个非注释类非注释类指令大小写不敏感,但为了可读性,官方建议大写。ARG定义在后续Dockerfile中可以使用的变量。变量的可使用范围为:2.1 若ARG定义在Dockerfile中第一个FROM之前,则其可在后续所有的指令中使用
摘要由CSDN通过智能技术生成

2个注释类

指令
syntax

17个非注释类

非注释类指令大小写不敏感,但为了可读性,官方建议大写。

ARG
  1. 定义在后续Dockerfile中可以使用的变量。
  2. 变量的可使用范围为:
    2.1 若ARG定义在Dockerfile中第一个FROM之前,则其可在后续所有的指令中使用,即使是不同的build stage;
    2.2【 若ARG定义在Dokcerfile中第一个FROM之后,则后续Dockfile中同一个build stage的其他指令,但不包括如CMD这种在docker build时不被执行的指令 】。
  3. 变量通过 【 $变量名 或 ${变量名} 】来使用,与shell脚本一样。
  4. 在ARG定义变量前使用变量,将得到空字符串。
  5. 定义多个ARG时,不可以使用 【\】反划线来跨行。
ARG 变量名
AGR 变量名=默认值
// 变量值可通过 [ docker build --build-arg 变量名=变量值 ] 传递进来
// 多个变量的传递可通过 [ docker build --build-arg 变量名1=变量值1 --build-arg 变量名2=变量值2 ]
// 同一个Dockerfile中可存在多个FROM指令,每个FROM指令间的范围为一个build stage
// 如下: 变量名1 不能被 [ FROM 基础镜像2 ] 之后的指令使用
FROM 基础镜像1
ARG 变量名1
...其他指令

FROM 基础镜像2
ARG 变量名2
...其他指令
// 以下是一个简单的Dockerfile例子,用于说明ARG的作用域
ARG 变量名1  //在Dockerfile中所有非注释指令的第一行定义的 [ 变量名1 ]

FROM 基础镜像1
ARG 变量名1 // 为了在本次build stage中的后续指令使用第一行定义的变量,
           // 需定义一个 [ 没有指定默认值的同名变量 ] 
RUM echo ${
   变量名1}
// 请务在CMD或ENTRYPOINT中使用ARG定义的变量

FROM 基础镜像2
ARG 变量名1
RUM echo ${
   变量名1}

FROM 基础镜像3:${
   变量名1} // 若在FROM中使用第一行定义的 [ 变量名1 ],则可直接使用而无需定义
...其他指令
FROM
  1. 指定本次build stage的基础镜像
  2. FROM与FROM之间为一个build stage
  3. FROM不一定是Dockerfile第一行指令,其之前可出现 【 注释、注释类关键、ARG 】
FROM 基础镜像name // 不通过 [ 冒号: ] 来指定基础镜像的tag时,默认取latest
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值