gpt4 book ai didi

docker - 正在运行的容器找不到它创建到/home/user/目录的文件

转载 作者:行者123 更新时间:2023-12-02 18:04:05 25 4
gpt4 key购买 nike

希望您今天过得愉快!

我是 docker 的新手。我认为我的问题与 docker 的目录树

有关

我的应用程序将文件写入 /home/user 目录,然后在一段时间后再次读取该文件。

我从我的应用程序中收到此错误。

[error] a.a.OneForOneStrategy - /home/user/bkjw_eqvfohygvkaxoxc-small.jpg
java.nio.file.NoSuchFileException: /home/user/bkjw_eqvfohygvkaxoxc-small.jpg

我的 dockerized 应用程序无法创建文件和读取。我在想 Docker 将目录 /home/user/ 视为主机的绝对目录。我认为容器会写入容器目录树中的 /home/user 目录。

所以问题是:

如何在容器目录树中指定写入文件的路径?

最佳答案

您对目录树的理解是正确的。在 docker 容器内运行的应用程序将写入容器目录树中的 /home/user/

您的问题似乎与权限有关,您的 Java 应用程序可能没有在容器内写入 /home/user/ 的权限。您应该更改要写入的目录的所有权/权限,或者我在这种情况下所做的一个简单解决方案是在 java 代码中创建我想要写入的目录。

喜欢:

// Create volume directories explicitly so that they are created with correct owner
Files.createDirectories(Paths.get(dirPath));

如果您的要求不是在 /home/user/ 中写入,您可以将 dirPath 字符串设置为 /home/user/mydir > 具体来说。

关于docker - 正在运行的容器找不到它创建到/home/user/目录的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49869606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com