背景说明
当构建一个被继承Dockerfile时运行的命令,父镜像在被子镜像继承后,父镜像的ONBUILD会被触发调用。其实有点像Java的里父类super方法。
使用场景: 假设希望别人在基于您的镜像构建时输出一些描述信息则可以使用 运行时机: 在子镜像构建时进行运行 使用优点:ONBUILD指令允许通过考虑父映像中的重复配置来大幅减少Dockerfile的大小
解决方案
普通场景
FROM busybox
MAINTAINER ljhan2
CMD echo "this is cmd instrunction"
ONBUILD RUN echo "father onbuild instruction,author is ljhan2"
典型场景
在以后的任何时间点,都可以从任何兼容Maven的文件夹结构中创建精简的Dockerfile并使用构建映像来构建应用程序,子镜像均会执行mvn package
FROM maven:3.6.0-alpine
WORKDIR app
ONBUILD COPY . /app
ONBUILD RUN mvn package