Docker运行时如何让应用读取application.properties指定的配置文件
解决Docker容器找不到指定配置文件的方法
方案1:把配置文件打包进镜像
修改你的Dockerfile,添加复制配置文件的指令,确保容器内存在myApp/myConfig.conf路径:
FROM eclipse-temurin:17.0.8.1_1-jre # 复制本地配置文件到容器对应目录 COPY ./myApp/myConfig.conf myApp/myConfig.conf COPY ./target/myApp.jar app.jar ENTRYPOINT ["java", "-jar", "app.jar"]
重新构建镜像:
docker build -t myApp:myApp .
之后正常运行容器即可,此时配置文件已经被包含在镜像里,程序能按指定路径找到它。
方案2:本地挂载配置文件到容器
如果不想修改镜像,可在启动容器时通过挂载方式,把本地的配置文件映射到容器内的目标路径:
docker run -p 8080:80 --name myAppContainer -v $(pwd)/myApp/myConfig.conf:/myApp/myConfig.conf idOfImage
- 注意:执行这条命令时,要确保当前终端处于项目根目录下,
$(pwd)会自动获取当前目录路径;冒号前后的路径要对应,容器内的路径必须和application.properties中app.config指定的路径完全一致。
内容的提问来源于stack exchange,提问作者davebo92123
相关产品推荐
相关产品推荐

