docker运行spring cloud项目多个此JAR
先说下问题 ,本例采用sh文件运行多个JAR,但sh文件中有多行时,执行不正常,经多次尝试,将命令改成一行就正常了,以下是sh文件内容示例:
#!/bin/sh
nohup java -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=eureka2 -jar /uspeureka.jar >uspeureka2.log & nohup java -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -jar /messageservice.jar >messageservice.log
顺便附加下DockerFile内容:
# Docker image for springboot file run
# VERSION 0.0.1
# Author: youg
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER eangulee continentlu@sina.com
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
COPY smartboxstarter.sh smartboxstarter.sh
COPY uspeureka-0.0.1-SNAPSHOT.jar uspeureka.jar
COPY messageservice-0.0.1-SNAPSHOT.jar messageservice.jar
RUN chmod +x smartboxstarter.sh
ENTRYPOINT [“sh”,"/smartboxstarter.sh"]