Docker启动SpringBoot项目传递参数

SpringBoot项目
我们需要在启动项目时传递参数

# 方式1
java -Dxxx=xx zzz=zzz xxx.jar
# 方式2
java xxx.jar --xxx=xxx --zzz=zzz

-D和–可以同时使用,但是-D要写在xx.jar前面

如果通过Docker启动

Dockerfile

# 指定基础镜像,本地没有会从dockerHub pull下来 
FROM java:8 
#作者 
MAINTAINER zc 
# 把可执行jar包复制到基础镜像的根目录下 
ADD testDocker-1.0-SNAPSHOT.jar /testDocker-1.0-SNAPSHOT.jar
# 镜像要暴露的端口,如要使用端口,在执行docker run命令时使用-p生效 
#EXPOSE 9999
# 在镜像运行为容器后执行的命令 
ENTRYPOINT ["sh","-c","java ${JAVA_OPTS} -jar /testDocker-1.0-SNAPSHOT.jar ${JAVA_OPTS2}"]

构建镜像

docker build -t testdocker:v1 .

注意最后有个.
指当前路径

启动容器

docker run -e "JAVA_OPTS2=--test=11111112222" -e "JAVA_OPTS=-Dtest2=qqqqqq" --name qqq  -p 7777:9999 -d   testdocker:v1 

-e后面可以替换ENTRYPOINT里面的变量
注意ENTRYPOINT里面要有"sh","-c"

你可能感兴趣的:(docker,spring,boot)