dockerfile深入学习之ONBUILD

ONBUILD:为镜像添加稍后要执行的触发器

语法形式:ONBUILD [INSTRUCTION]

详解:为镜像A添加触发器、当镜像B以A为基础镜像时、在构建B镜像的过程中、会先执行onbuild的指令、然后才会执行其它指令

任何构建器的指令都可以注册为一个触发器

ONBUILD工作原理:

  1. 当遇到ONBUILD指令时,构建器会为正在构建的镜像的元数据添加一个触发器。 该指令不会影响当前的构建
  2. 在构建结束时、触发器列表存储在镜像清单中,可以通过key值:OnBuild获取,该列表可以通过docker inspect命令查看
  3. 已完成构建的镜像通过FROM指令成为一个新构建的基础镜像,作为处理FROM指令的一部分、子镜像的构建器会查找 ONBUILD触发器,以其注册顺序分别执行这些触发器指令,在执行过程中、如果其中任意一个执行失败、FROM指令运行中断,所有触发器执行成功之后、FROM指令执行完成并继续执行后续指令
  4. 子镜像构建完成成、清除触发器

注:

  • ONBUILD后面不能接ONBUILD指令本身 即不能使用 ONBUILD ONBUILD的方式
  • ONBUILD指令中不应该使用FROM或者MAINTAINER指令作为触发器

 

STOPSIGNAL:停止信号、发送该信号可退出容器,signal可以是内核系统调用表中能匹配到的、合法并且未在该容器中使用的数字,或者是一个信号名如:SIGKILL

posted on 2018-01-19 13:59  残天  阅读(312)  评论(0)    收藏  举报

导航