今天上传文件到linux服务器发现指定的文件夹下没有上传的文件后来使用find / -type f -name "filename"在/var/lib/docker/overlay2/找到了。
如果在docker中启动springboot服务,那么设置的文件上传绝对路径会变成
/var/lib/docker/overlay2/ + "docker容器标识" + 你设置的绝对路径
这时候如果通过以下配置启动nginx,使用ip+文件名是可以找到文件的,但是当springboot镜像重新build的时候,以上路径就会改变,nginx访问就会失效
docker run -d -p 4803:80 -v /var/lib/docker/overlay2/ + "docker容器标识" + 你设置的绝对路径:/usr/share/nginx/html --name filenginx nginx
解决方法:
运行springboot镜像的时候挂载卷(fileUpload为你设置的文件上传路径)
docker run -d -p 1949:1949 -v /root/file:/fileUpload --name image container
启动nginx容器同时挂载卷
docker run -d -p 4803:80 -v /root/file:/usr/share/nginx/html --name filenginx nginx
这样便能将上传到sp容器内的文件传递到nginx容器html文件夹下,此时我访问ip:4803/filename就能找到文件了
网友评论