горячая перезагрузка Java-программы, запущенной в Docker - PullRequest
1 голос
/ 24 марта 2019

Я разработал Java-программу, которая должна работать в Docker.Тем не менее, я столкнулся с большими трудностями при отладке моей Java-программы, запущенной в Docker.

Я искал в Интернете, некоторые учебники предлагали инструменты, такие как spring-dev-tools (так как моя java-программа - это программа на основе весенней загрузки).

https://www.youtube.com/watch?v=sz5Zv5QQ5ek

Основываясь на этих руководствах, отладка в порядке, например, установка точки останова и отслеживание переменных, однако, когда я обновляю свой код (например, некоторые классы), эти изменения не могут быть немедленно отражены в программе, запущенной в Docker, программа ведет себя какстарый код

Кто-нибудь может дать несколько подсказок?

1 Ответ

0 голосов
/ 07 июня 2019

Мне удалось сделать эту работу, выполнив следующие действия:

  1. Монтирование исходного кода в контейнер во время выполнения
  2. Подключение с помощью удаленного отладчика

Вот мой докер-файл:

FROM gradle:5.4-jdk12
WORKDIR /app
EXPOSE 8080 5005

а вот мой docker-compose.yml:

version: '3'
services:
  app:
    build:
      context: .
    ports:
      - 5005:5005
      - 8080:8080
    volumes:
      - .:/app
    command: ["gradle", "bootRun"]

когда я запускаю это с помощью docker-compose up и затем подключаю удаленный отладчик, горячая перезагрузка работает.

Я подключаюсь из Intellij, поэтому мне нужно перестроить проект, чтобы горячая перезагрузка заработала.

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