Spring Boot Maven 项目打包至Docker容器中,如何将application.properties映射到宿主机中

文章描述了在Docker环境下,将jar包与配置文件进行映射遇到的问题及解决方案。通过在Dockerfile中将配置文件复制到容器根目录,并在运行命令中指定配置文件位置,以及使用dockerrun命令进行映射,确保应用能正确读取宿主机的配置文件。
摘要由CSDN通过智能技术生成

问题分析

问题点

将jar包打包到容器中,按网上的教程直接将docker的/application.properties映射到宿主机对应的配置文件,无法成功映射;

整体思路

先查看docker容器的目录结构,application.properties文件并未在容器的根目录下,按docker运行时的文件映射关系,将application.properties文件放到根目录下,然后在运行jar包时,指定该配置文件。具体解决方案如下:

解决方案

Dockerfile文件

FROM openjdk:8-alpine
#将打包之后的可执行jar包copy到根目录下;
COPY ./target/xxx.jar /app.jar
#将配置文件copy到根目录下,便于后期映射;
COPY ./target/classes/application.properties /application.properties
ENV LD_LIBRARY_PATH /usr/lib
#--spring.config.location=/application.properties指定配置文件启动,这样将该文件与宿主机配置文件映射
CMD ["java", "-jar", "/app.jar", "--spring.config.location=/application.properties"]

docker运行容器

docker run -d --name 容器名称 -p 宿主机端口:容器端口 -v 宿主机文件位置:/application.properties 镜像名称:1.0.0

容器目录结构

docker exec -it #containerId ls 

容器目录结构

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值