Как передать ссылку на файл (который находится на моем компьютере) в изображение Docker? - PullRequest
2 голосов
/ 06 августа 2020

У меня есть небольшое приложение Spring Boot и контроллер синтаксического анализа, который анализирует файл .csv и добавляет соответствующую информацию в базу данных H2:

@RestController
public class ParseController {
@Autowired
private CSVFileParserService parser;

@GetMapping
@RequestMapping("/parse")
public String startParsing() {
    parser.parseCsvFile("C:\\Users\\User\\IdeaProjects\\spring-boot-amazon\\src\\main\\resources\\Reviews.csv");
    return "Parsing has been initialized";
}
}

Как видите, я передаю прямой путь к файл, который находится на моем компьютере. Здесь все работает как положено. После этого я попытался создать изображение Docker для своего приложения, и на данный момент я столкнулся с проблемой, как заставить мой ParseController работать должным образом. Я создал Dockerfile:

FROM openjdk:11-jdk-slim
VOLUME /tmp
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]

Когда я запускаю свое изображение и запускаю ParseController, я получаю следующее сообщение об ошибке: java .io.FileNotFoundException: C: \ Users \ User \ IdeaProjects \ spring -boot-amazon \ src \ main \ resources \ Reviews.csv (Нет такого файла или каталога)

Я попытался передать файл напрямую и попытался поместить файл в образ, ничего не сработало. Не могли бы вы мне помочь? PS Это мой первый вопрос по Stackoverflow, надеюсь, я все сделал правильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...