如何创建使用env变量的灵活的onbuild docker镜像?
我有一个基于onbuild标记的docker图像,我想用它作为构建的模板,但我希望子图像能够设置ENV var来修改ONBUILD指令 基onbuild:
我的应用程序内:
根据docker文档,ONBUILD步骤在FROM base-onbuild子句之后立即运行,因此在设置TARGET_APP的ENV语句之前,在ONBUILD步骤中没有设置TARGET_APP. 我也尝试通过docker build的–build-args参数传递TARGET_APP值,但这也没有任何效果. 还有另一种方法可以设置变量并修改UNBUILD步骤吗? 类似的问题:Placeholder field for the ONBUILD section for child docker images to use 最佳答案
强制性的arg
我在你的问题中有一些适用于这种情况的东西,但它不适用于所有情况. 在ONBUILD WORKDIR / app / src之后的dockerfile中,你将拥有:
文件build_copy.sh将包含以下行:
文件target_app.txt应包含您要放入TARGET_APP的文本. 可选的arg 您可以通过在子根目录中的文件夹/ config中放置“可选”文本文件并将ONBUILD更改为:
您只需要该文件夹,其中的所有文件都是可选的.然后shell脚本可以使用:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |