springboot项目运行在docker中 file.exists()返回false没有报错

猿份哥 5月前 ⋅ 157 阅读

 

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的各种表现。

作者:猿份哥,版权所有,欢迎保留原文链接进行转载:)


全部评论: 0

    我有话说: