demo-monolith add docker-compose.yml and Dockerfile
This commit is contained in:
+32
@@ -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"]
|
||||||
@@ -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,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:
|
||||||
|
|||||||
Reference in New Issue
Block a user