Горячая замена или горячее развертывание с помощью docker и grails 4

извините за беспокойство сообщества. Я обновляю Grails 2.4.5 до Grails 4.0.1. У меня есть Dockerized Grails, Gradle, Java с базовым образом Ubuntu и следующих версий:

  • ОС: Microsoft Windows 10 Корпоративная
  • Версия Grails: 4.0.1
  • Версия Gradle: 5.6.3
  • Версия Docker Desktop: 2.1.0.5
  • Версия Docker Engine: 19.03.5
  • Версия Java: версия openjdk "1.8.0_222"

Я использую docker Desktop для Windows (у меня нет выбора). Запускаю приложение из контейнера с помощью команды: grails -Dgrails.env=docker run-app -reloading. Я не хочу повторно запускать приложение каждый раз, когда вношу изменение в код. Я хочу использовать функцию «горячее развертывание или горячую замену», и всякий раз, когда я вношу изменения, они автоматически развертываются в приложении. Я исследовал всю сеть без каких-либо успешных результатов. Может ли кто-нибудь помочь мне с этой проблемой, которая у меня возникла, из-за этого увеличивается время разработки. Любую информацию, которая вам понадобится, чтобы помочь мне, не стесняйтесь спрашивать. заранее спасибо


person JBeloqui    schedule 19.12.2019    source источник
comment
вы разрабатываете в докере? почему бы не разрабатывать в Windows и не развертывать в докере (вам бы никогда не пришлось перезагружать или запускать через приложение для запуска для производства)   -  person erichelgeson    schedule 19.12.2019
comment
нет, я запускаю приложение grails в контейнере, но я разрабатываю в своей локальной среде. Когда я когда-либо вношу изменения локально, мне приходится повторно запускать приложение внутри контейнера. Я не хочу, чтобы приложение повторно запускалось в контейнере.   -  person JBeloqui    schedule 19.12.2019
comment
Вы столкнулись с проблемой, похожей на эту . Grails использует события файловых уведомлений, которые не работают с Docker Desktop. См. inotify на общих дисках не работает. Один из способов обойти это ограничение - использовать опрос и форсировать события, когда что-то изменилось (например, сенсорные файлы). Другое возможное решение, предложенное в упомянутом выше сообщении, - синхронизировать два каталога.   -  person b0gusb    schedule 20.12.2019
comment
Спасибо всем за ответы, я попробую все возможные ответы, которые вы мне дали, и расскажу, как все прошло.   -  person JBeloqui    schedule 23.12.2019
comment
Еще раз спасибо за ответы, но они не решили проблему. Мы все еще изучаем проблему, и как только мы найдем решение, я опубликую его здесь. Т   -  person JBeloqui    schedule 30.12.2019
comment
Одна из возможных проблем может заключаться в том, что вы не сопоставили исходный код как том. Таким образом, каждый раз, когда вы меняете код, изображение не знает об этом. Я бы предпочел использовать файл docker-compose для запуска среды разработки. Взгляните на эту настройку: stackoverflow.com/questions/65431299/   -  person mpccolorado    schedule 24.12.2020