ENTRYPOINT ["java", "org.springframework.boot.loader.JarLauncher"]
这是我在Dockerfile
中的当前定义问题:是否有可能在此之前简单地执行另一个.sh
脚本,而不必编写额外的entrypoint.sh
脚本?
伪代码:
ENTRYPOINT ["init.sh", "&&", "java", "org.springframework.boot.loader.JarLauncher"]
代替:ENTRYPOINT[ "wrapper.sh" ]
首先运行脚本的一个简单方法是使用ENTRYPOINT指令的shell版本,而不是您使用的exec版本(有关更多信息,请参阅https://docs.docker.com/engine/reference/builder/#entrypoint)。
运行shell允许您通过使用&&
将它们分开来运行多个命令。所以你可以输入
ENTRYPOINT init.sh && java org.springframework.boot.loader.JarLauncher
如果启动容器的过程变得更复杂,您应该像David建议的那样创建一个入口点包装器脚本。