springboot打成jar包运行在docker容器中,文件上传下载路径报错问题
1、在application.yml配置文件中配置了文件的上传路径:
#文件上传存储路径 #savefilepath: D:/uploadFile/testSaveFile/ #本地测试上传路径 savefilepath: /home/uploadFile/testSaveFile/ #服务器上传路径
2、原因:当springboot项目打包成jar包,运行在docker容器里时,下载文件报错找不到文件,搜索文件夹testSaveFile发现文件上传到了docker容器内部,
所以导致在服务器上下载文件报错
3、解决办法,在使用docker命令run运行容器时,使用挂载方式把docker内部的目录挂载到服务器的目录上,
加上:-v /home/uploadFile/testSaveFile:/home/uploadFile/testSaveFile
docker run -d -e TZ="Asia/Shanghai" --restart=always --name $SERVER_NAME -v /usr/local/apps/docker-demo/logs:/home/javaProject/logs -p 8080:8080 $SERVER_NAME
问题成功解决!