dockerfile深入学习之ONBUILD
ONBUILD:为镜像添加稍后要执行的触发器
语法形式:ONBUILD [INSTRUCTION]
详解:为镜像A添加触发器、当镜像B以A为基础镜像时、在构建B镜像的过程中、会先执行onbuild的指令、然后才会执行其它指令
任何构建器的指令都可以注册为一个触发器
ONBUILD工作原理:
- 当遇到ONBUILD指令时,构建器会为正在构建的镜像的元数据添加一个触发器。 该指令不会影响当前的构建
- 在构建结束时、触发器列表存储在镜像清单中,可以通过key值:OnBuild获取,该列表可以通过docker inspect命令查看
- 已完成构建的镜像通过FROM指令成为一个新构建的基础镜像,作为处理FROM指令的一部分、子镜像的构建器会查找 ONBUILD触发器,以其注册顺序分别执行这些触发器指令,在执行过程中、如果其中任意一个执行失败、FROM指令运行中断,所有触发器执行成功之后、FROM指令执行完成并继续执行后续指令
- 子镜像构建完成成、清除触发器
注:
- ONBUILD后面不能接ONBUILD指令本身 即不能使用 ONBUILD ONBUILD的方式
- ONBUILD指令中不应该使用FROM或者MAINTAINER指令作为触发器
STOPSIGNAL:停止信号、发送该信号可退出容器,signal可以是内核系统调用表中能匹配到的、合法并且未在该容器中使用的数字,或者是一个信号名如:SIGKILL
浙公网安备 33010602011771号