Spring boot 如何启动Spring启动服务并运行启动脚本
我使用JHipster创建springboot应用程序,我认为它使用JIB创建docker容器。一切都很好,但做一个启动脚本或运行其他东西怎么样。在我的情况下,我需要启动apt安装的服务Spring boot 如何启动Spring启动服务并运行启动脚本,spring-boot,jhipster,jib,Spring Boot,Jhipster,Jib,我使用JHipster创建springboot应用程序,我认为它使用JIB创建docker容器。一切都很好,但做一个启动脚本或运行其他东西怎么样。在我的情况下,我需要启动apt安装的服务 CMD service pcscd start 如果我只是在图片中,这不会发生在启动时。当我将它添加到Kubernetes中的POD定义中时,它会清除springboot应用程序的启动,然后退出,就像我只想运行命令一样。如何运行启动脚本,首先启动我的pcscd服务,然后启动spring boot应用程序?有
CMD service pcscd start
如果我只是在图片中,这不会发生在启动时。当我将它添加到Kubernetes中的POD定义中时,它会清除springboot应用程序的启动,然后退出,就像我只想运行命令一样。如何运行启动脚本,首先启动我的pcscd服务,然后启动spring boot应用程序?有多种方法可以运行多个命令,主要是使用shell:
ENTRYPOINT
的“shell形式”运行命令。(但是,Dockerfile
参考更喜欢下面的“exec表单”)在幕后,这个“shell表单”实际上运行一个shell二进制文件(如/bin/sh
),并让shell解释“脚本”(这里,echo one和&echo two
)ENTRYPOINT
的“exec form”运行命令。在这种情况下,将直接调用shell二进制文件#/bin/sh
所示)解释脚本文件中的内容
ENTRYPOINT
或CMD
进行组合,但我不会详细介绍,因为对于执行多个命令,通常ENTRYPOINT
就足够了。您可以查看Dockerfile
参考以了解ENTRYPOINT
和CMD
如何交互。)
对于Jib,您可以使用container.entrypoint来定制图像入口点。(检查和引用。)并且您可以使用
功能(/)提供任意文件,包括shell脚本。此外,
允许使用
向shell脚本提供例如可执行位
还要注意,Jib使用的默认Java基本映像没有/bin/sh
二进制(shell),因此您必须使用具有shell的不同基本映像
最后,请注意,我只是回答如何实现对容器映像运行多个命令。这不一定是在Kubernetes(或任何生产环境)上以健壮和弹性的方式运行服务的理想方式。有多种方法可以运行多个命令,主要是使用shell:
ENTRYPOINT
的“shell形式”运行命令。(但是,Dockerfile
参考更喜欢下面的“exec表单”)在幕后,这个“shell表单”实际上运行一个shell二进制文件(如/bin/sh
),并让shell解释“脚本”(这里,echo one和&echo two
)ENTRYPOINT
的“exec form”运行命令。在这种情况下,将直接调用shell二进制文件#/bin/sh
所示)解释脚本文件中的内容
ENTRYPOINT
或CMD
进行组合,但我不会详细介绍,因为对于执行多个命令,通常ENTRYPOINT
就足够了。您可以查看Dockerfile
参考以了解ENTRYPOINT
和CMD
如何交互。)
对于Jib,您可以使用container.entrypoint来定制图像入口点。(检查和引用。)并且您可以使用
功能(/)提供任意文件,包括shell脚本。此外,
允许使用
向shell脚本提供例如可执行位
还要注意,Jib使用的默认Java基本映像没有/bin/sh
二进制(shell),因此您必须使用具有shell的不同基本映像
最后,请注意,我只是回答如何实现对容器映像运行多个命令。这不一定是在Kubernetes(或任何生产环境)上以健壮和弹性的方式运行服务的理想方式。Ok是否在使用jhipster的src/main/jib/entrypoint.sh中生成entrypoint.sh?Ok是否在使用jhipster的src/main/jib/entrypoint.sh中生成entrypoint.sh?
FROM ubuntu:bionic
ENTRYPOINT echo one && echo two
FROM ubuntu:bionic
ENTRYPOINT ["/bin/sh", "-c", "echo one && echo two"]
echo -e '#/bin/sh'"\necho one && echo two" > my-entrypoint.sh
FROM ubuntu:bionic
COPY my-entrypoint.sh /
RUN chmod +x /my-entrypoint.sh
ENTRYPOINT /my-entrypoint.sh
ENTRYPOINT ["/bin/sh", "-c", "/my-entrypoint.sh"]