demo-monolith add docker-compose.yml and Dockerfile

This commit is contained in:
2026-09-13 17:08:36 +02:00
parent 6979408ebb
commit 17b5f05bb5
3 changed files with 51 additions and 2 deletions
+32
View File
@@ -0,0 +1,32 @@
# 1. Этап сборки (Build stage) на базе JDK 26
FROM eclipse-temurin:26-jdk-alpine AS build
WORKDIR /app
# Устанавливаем Node.js и npm, так как плагин node-gradle может попытаться
# скачать или использовать системный node (или настроим его под контейнер)
RUN apk add --no-cache nodejs npm curl bash
# Копируем всё содержимое проекта
COPY . .
# Даем права на выполнение Gradle Wrapper
RUN chmod +x gradlew
# Запускаем кастомные gradle-таски для сборки фронтенда и упаковки бэкенда.
# Плагин node-gradle сам установит нужную версию node/npm внутри сборщика Gradle,
# либо подхватит системный. Используем вашу задачу copyAngularBuild.
RUN ./gradlew copyAngularBuild -x test --no-daemon
RUN ./gradlew bootJar -x test --no-daemon
# 2. Финальный образ (Runtime stage) - легкий образ с Java 26 JRE
FROM eclipse-temurin:26-jre-alpine
WORKDIR /app
# Копируем собранный Spring Boot jar-файл из этапа сборки
COPY --from=build /app/build/libs/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
+17
View File
@@ -0,0 +1,17 @@
services:
app:
build: .
container_name: monolith_app
ports:
- "8080:8080"
environment:
- SPRING_DATASOURCE_URL=jdbc:postgresql://jambo-postgres:5432/springangulardb
- SPRING_DATASOURCE_USERNAME=springangular_user
- SPRING_DATASOURCE_PASSWORD=postgrespw
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=org.postgresql.Driver
networks:
- jambotron-net
networks:
jambotron-net:
external: true
+2 -2
View File
@@ -2,11 +2,11 @@ spring:
application: application:
name: demo-monolith name: demo-monolith
datasource: datasource:
url: jdbc:postgresql://localhost:5432/springangulardb url: jdbc:postgresql://jambo-postgres:5432/springangulardb
username: springangular_user username: springangular_user
password: postgrespw password: postgrespw
flyway: flyway:
url: jdbc:postgresql://localhost:5432/jambotron_dev?options=-c%20timezone=UTC url: jdbc:postgresql://jambo-postgres:5432/springangulardb?options=-c%20timezone=UTC
user: springangular_user user: springangular_user
password: postgrespw password: postgrespw
jpa: jpa: