springboot项目运行在docker中 file.exists()返回false没有报错
表现:在windows运行正确,但是打包后运行在docker容器中找不到文件
- 思考1:路径不对。
经检查路径后被排除
- 思考2:写法不对。
网上有云:"windows 是/,linux应该是\\",经过检查路径后被排除
- 思考3:没有权限。
此文件的文件夹是root用户创建的
抱着试一试的态度执行了命令【 chmod 777 文件或目录】,经过测试无果
- 思考4:怀疑是docker容器的原因,请教了别人。找到了答案!
- 处理结果:原来docker容器要访问宿主机需要做映射
项目运行的时候 添加 -v 宿主机文件夹:容器文件夹 例如: -v /a/b/c:/a/b/c
其实平时也知道这样映射,但是遇到问题了为什么关联不起来呢?可能大多数人也和我一样。
所以需要多操作。多积累和分析bug的各种表现。
作者:猿份哥,版权所有,欢迎保留原文链接进行转载:)
注意:本文归作者所有,未经作者允许,不得转载