У меня есть два разных проекта spring boot и угловой проект. Теперь я хочу создать образ докера, который будет включать в себя оба проекта.
Я проверил maven-resource-plugin, который копирует файлы angular в spring-boot /target/classes/resources directory.
И docker-maven-plugin, который создает образ докера из spring-boot-app.
Должен ли я использовать вывод обоих плагинов для создания желаемого вывода или мне следует изменить способ создания образа докера? Теперь мой образ докера создает образ из весеннего загрузочного приложения.
FROM java:8
VOLUME /tmp
ADD gs-spring-boot-docker-0.1.0.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
Что ж, это веб-приложение будет использоваться редко, например, раз в месяц или около того, и я не хочу постоянно поддерживать для этого отдельный контейнер пользовательского интерфейса.





Вы можете разместить wwwroot, сгенерированный веб-пакетом, в виде статических файлов, обслуживаемых вашим приложением весенней загрузки.
Вместо того, чтобы запускать ваше угловое приложение на webpack-dev, выполнив ng serve, вы должны сгенерировать статические файлы с помощью ng build --prod (я могу ошибиться в некоторых командах, записывая из памяти) и поместить их как статические файлы в приложение весенней загрузки, как показано здесь https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot
Я не эксперт по весне, но вы можете сделать это, как вы сказали. Конечно, было бы неплохо иметь отдельный контейнер только с интерфейсом, но если ваше весеннее приложение будет тесно связано с интерфейсом и не будет обслуживать API для других служб, вы можете использовать решение, размещающее angular на сервере Spring Boot.
В конце концов, вы просто отправляете файлы html, js и css в браузер клиента, где код выполняется непосредственно, поэтому размещение статических файлов не будет обременительным.
Было бы разумно отделить API от внешней службы обслуживания контента (например, nginx, httpd), если вы хотите масштабировать только внутреннюю службу для обработки большего трафика, но я думаю, что здесь это не так.
Есть ли причина для того, чтобы оба были развернуты в одном контейнере? Я предлагаю развернуть в другой контейнер, создав два разных образа.