应用程序无法检测容器上的文件

应用程序无法检测容器上的文件

我有一个 tomee docker 容器,我在其中部署了一个应用程序,该应用程序在端口 8080 上运行,并使用“docker run -p”公开它。可以通过浏览器正常访问它。但是,这个应用程序需要用户提供数据。为了提供数据,我们需要指定要上传的文件位置。在服务器上运行时,会检测到位置,加载文件并完美运行作业。在容器上运行时,应用程序找不到文件/位置。我尝试过绑定挂载、卷挂载,并且可以从 bash 提示符手动访问 docker 容器中已挂载的文件夹。但应用程序找不到它。目录/文件权限设置为 777 但仍然如此。卡在这里。可能是时区问题吗?Docker 位于 UTC 而主机位于 EST。

答案1

您是否将路径位置指定为应用程序工作目录的相对路径或绝对路径?您可以在以下位置找到更多信息:docker 容器如果您想查看配置,请在此处查看。

如果您可以分享您正在使用的 Dockerfile 和 docker run 命令,我们就能更好地了解正在发生的事情。

当您在容器内部测试它时它是否正常工作?

看起来这与权限无关,而是与路径指定以及该目录是否在容器应用程序上正确配置有关。确保路径位置是绝对的,验证目录配置,然后重试测试。

相关内容