我使用 docker-compose 的 Java 应用程序在 Linux 中找不到根路径。我猜卷的路径有问题。你能帮我一下吗?
Cannot save user's book: java.io.IOException: java.io.FileNotFoundException: /var/lib/data/17.txt (No such file or directory)
方法:
@Override
public ResponseEntity saveBook(MultipartFile file, String filename) {
try {
file.transferTo(new File("/var/lib/data/" + fileName));
} catch (IOException e) {
throw new LibraryException("Cannot save user's book: " + e);
}
return ResponseEntity.ok().build();
}
Docker 组合:
version: '3.1'
volumes:
mysql-data:
driver: local
mysql-log:
driver: local
mysql-conf:
driver: local
postgres_data:
driver: local
services:
dictionary_app_prod:
container_name: dictionary_app_prod
build:
context: .
dockerfile: Dockerfile
restart: always
ports:
- 8888:8082
volumes:
- /var/lib/data:/var/lib/data
最佳答案
- /var/lib/data:/var/lib/data
检查是否正确,上面一行读取,从主机绝对/var/lib/data
路径挂载到容器/var/lib/data
您可以阅读更多 details关于 docker-compose 中的主机挂载。
关于java - [Java with Docker-compose] : java. io.FileNotFoundException :/var/lib/data/17. txt (没有这样的文件或目录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59796678/