我有一个指向daggerok/jboss-eap-7.1:7.1.0-alpine
的基本docker映像,它执行了一个我不想覆盖的ENTRYPOINT
。但是我也需要在基本映像执行完它们之后执行另一个命令,所以我的Dockerfile看起来像这样:
FROM daggerok/jboss-eap-7.1:7.1.0-alpine
#SOME CODE HERE
ENTRYPOINT ["mybash.sh"]
我认为这段代码会在基本图片中覆盖ENTRYPOINT,因此我需要避免使用它。我的脚本需要在基本映像中的所有命令之后执行。
有解决问题的秘诀吗?
答案 0 :(得分:1)
要实现您想要的目标有一些问题:
ENTRYPOINT
,因此,如果不将其显式复制到mybash.sh
ENTRYPOINT
是/bin/bash ${JBOSS_HOME}/bin/standalone.sh
,它将启动docker容器ID为1的主进程。您不应该更改它,例如在后台启动它。进一步阅读here。我建议重写mybash.sh:
启动jboss之前,请先执行所需的任何操作。然后,以最后一行从jboss开始完成脚本:
exec "/bin/bash ${JBOSS_HOME}/bin/standalone.sh"
(改编自here)