Отладка весенней загрузки приложения в докере не работает - PullRequest
0 голосов
/ 09 октября 2018

У меня есть приложение Spring Boot, запущенное в контейнере Docker, которое настроено с использованием Dockerfile, а затем файла docker-compose.yml.Я недавно добавил в команду Java -agentlib:jdwp=transport=dt_socket,address=5050,server=y,suspend=n в Dockerfile, чтобы включить отладку.Я выставил порт 5050 и также отобразил его в файле docker-compose.Когда я запускаю приложение в контейнере, я начинаю отладку через IntelliJ, и он соединяется, но если я устанавливаю точку останова, он никогда не срабатывает.Теперь я не уверен, что я делаю неправильно, поскольку удаленный отладчик подключается.Я даже попытался изменить настройку suspend=y, и это сработало, т. Е. Сервер не запустился, пока я не запустил отладчик.

Вот соответствующая работа, которую я проделал;

Dockerfile

FROM openjdk:8-alpine
WORKDIR /
EXPOSE 8000 5050
COPY target /
CMD java -agentlib:jdwp=transport=dt_socket,address=5050,server=y,suspend=n -jar /target/blockchain*.jar

docker-compose.yml

multichain-api:
  build:
    context: ./blockchain
  networks:
    - multichain-network
  ports:
    - "8000:8000"
    - "5050:5050"
  volumes:
    - type: bind
      source: ${PWD}/blockchain/target
      target: /target
  container_name: multichain-api

Есть идеи, где я ошибся?

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Вам может потребоваться добавить 0.0.0.0 или * к аргументу адреса

  • address = 0.0.0.0: 5050
  • address = *: 5050
0 голосов
/ 09 октября 2018

Конфиг выглядит нормально для меня.Если отладчик подключается правильно, пожалуйста, проверьте, включены ли ваши точки останова в IntelliJ.Я предполагаю, что проблема находится в IntelliJ, а не в вашей конфигурации докера.

Не могли бы вы предоставить конфигурацию запуска, если она все еще не работает?

...