赞
踩
Dockerfile部署Java项目挂载使用外部配置文件
技术博客 http://idea.coderyj.com/
需求是由于java项目使用的是nacos 而且每次部署nacos服务器ip不一样导致要重新打包,想引入外部配置文件进行打包
解决方案
SpringBoot配置文件的加载路径优先级
在讲解Docker运行Java项目挂载使用外部配置文件之前,需要了解SpringBoot的配置文件加载路径优先级~
优先级(从高到低):
工程根目录:./config/
工程根目录:./
classpath:/config/
classpath:/
application.properties
配置⽂件FROM java:8-alpine
ENTRYPOINT java -jar /tmp/app.jar --spring.config.additional-location=/tmp/application.properties
FROM openjdk:8
# 将当前目录下的*.jar添加到镜像中去,并且命名为app.jar
ADD ./track-web-exe.jar app.jar
# 开放tcp端口
EXPOSE 8182/tcp
ENV LANG C.UTF-8
# copy 修改启动配置文件 以下2种方法均可以
# COPY ./bootstrap.yml ./config/bootstrap.yml
COPY ./bootstrap.yml ./bootstrap.yml
# 镜像启动的时候执行这个命令
CMD exec java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。