【问题标题】:Docker image - SpringBoot and TomcatDocker 镜像 - Spring Boot 和 Tomcat
【发布时间】:2020-09-25 22:05:57
【问题描述】:

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

运行.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-server/start-pentaho.sh /pentaho/pentaho-server/start-pentaho-debug.sh

我做错了吗?是否可以在同一个容器中运行 Spring Boot 应用程序和 Tomcat?

【问题讨论】:

标签: spring-boot shell docker-compose dockerfile


【解决方案1】:

正如@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



【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 2020-06-19
    • 2021-02-27
    • 2020-03-12
    • 2020-09-09
    • 2018-01-20
    • 2017-06-07
    相关资源
    最近更新 更多