java - [Java with Docker-compose] : java. io.FileNotFoundException :/var/lib/data/17. txt (没有这样的文件或目录)

标签 java docker file docker-compose

我使用 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/

相关文章:

php - 如何在 symfony yml 配置文件中从 docker 获取环境变量

java - 访问jar中的csv文件

linux - 如何在Linux终端中打印文件中最频繁的行?

java - SwingWorker 未正确运行 doInBackground

java - 在 Spring 和 Angular 应用程序中更改 JSON 结构的位置和方式

docker - Reflex Golang与docker,docker-compose和makefile

docker - Docker在运行群集集群的机器上构建速度极慢

android - 将 Parcelable 对象存储到 Android 中的文件

java - 错误膨胀类pl.droidsonroids.gif.GifImageView导致崩溃

java - Java Applet 可以使用打印机吗?