Spring boot Docker图片-SpringBoot和Tomcat

Spring boot Docker图片-SpringBoot和Tomcat,spring-boot,shell,docker-compose,dockerfile,Spring Boot,Shell,Docker Compose,Dockerfile,场景:我构建了一个微服务来解决Pentaho中的一个业务需求,这是一个运行在不同端口上的tomcat之上的应用程序,当然,因为我的应用程序作为独立应用程序在docker容器中运行时与Pentaho库发生冲突。我想在一个docker映像中运行这两个应用程序,因为这个应用程序是Pentaho特有的,并且将安装在用户机器中,因此更易于维护。我把微服务的罐子放在Pentaho里面,但是当docker compose试图运行这个映像时,只启动微服务 run.sh: if [ -z "$DEBUG

场景:我构建了一个微服务来解决Pentaho中的一个业务需求,这是一个运行在不同端口上的tomcat之上的应用程序,当然,因为我的应用程序作为独立应用程序在docker容器中运行时与Pentaho库发生冲突。我想在一个docker映像中运行这两个应用程序,因为这个应用程序是Pentaho特有的,并且将安装在用户机器中,因此更易于维护。我把微服务的罐子放在Pentaho里面,但是当docker compose试图运行这个映像时,只启动微服务

run.sh:

if [ -z "$DEBUG" ]; then
  echo Starting Sheet Formatting service and Pentaho in DEBUG mode
  cd /pentaho/
  java -jar sheet-service.jar && 
  cd *server*
  ./start-pentaho.sh;
else
  echo Starting Sheet Formatting service and Pentaho in normal mode
  cd /pentaho/
  java -jar sheet-service.jar &&
  cd *server*
  ./start-pentaho-debug.sh;
fi
Dockerfile:

....
EXPOSE 8080 8889

# 1. Run 

ENTRYPOINT ["bash", "/pentaho/run.sh"]

微服务目录: /pentaho/sheet-service.jar

启动Pentaho目录: /pentaho/pentaho服务器/start-pentaho.sh /pentaho/pentaho服务器/start-pentaho-debug.sh


我做错什么了吗?有可能在同一个容器中运行Spring Boot应用程序和Tomcat吗?

我将&;&;&;&;&;&;&;&;&;正如@Mafor所说的那样,它工作了

if [ -z "$DEBUG" ]; then
  echo Starting Sheet Formatting service and Pentaho in DEBUG mode
  cd /pentaho/
  java -jar cup-cap-sheet-service.jar & 
  cd *server*
  ./start-pentaho.sh;
else
  echo Starting Sheet Formatting service and Pentaho in normal mode
  cd /pentaho/
  java -jar cup-cap-sheet-service.jar &
  cd *server*
  ./start-pentaho-debug.sh;
fi




可能您的意思是&,而不是&(run.sh)。请参阅@may,了解第一个脚本需要在后台运行才能运行第二个脚本?