From 1e6e1a1fe6fe9b99841367a887b8ee20cfa713f6 Mon Sep 17 00:00:00 2001 From: saqqaf Date: Thu, 1 Aug 2024 18:53:51 +0400 Subject: [PATCH] Submitting --- Dockerfile | 25 +++++++++++++++++++++++++ docker-compose.yml | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4595927 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +FROM maven:3.8.1-openjdk-17 AS build + +WORKDIR /app + +COPY pom.xml /app/ +COPY src /app/src + +RUN mvn clean package -DskipTests + +FROM openjdk:17-jdk-slim + +WORKDIR /app + +COPY --from=build /app/target/rihal-0.0.1-SNAPSHOT.jar /app/rihal-0.0.1-SNAPSHOT.jar + +EXPOSE 8080 + +ENV SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3307/usersystem?useSSL=false&serverTimezone=UTC&createDatabaseIfNotExist=true&allowPublicKeyRetrieval=true +ENV SPRING_DATASOURCE_USERNAME=root +ENV SPRING_DATASOURCE_PASSWORD=root +ENV SPRING_JPA_HIBERNATE_DDL_AUTO=update +ENV SPRING_JPA_SHOW_SQL=true + +ENTRYPOINT ["sh", "-c", "java -jar /app/rihal-0.0.1-SNAPSHOT.jar || (echo 'Application failed, entering sleep mode' && sleep infinity)"] + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..bd295ec --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,42 @@ +version: '3.8' + +services: + mysql: + image: mysql:9.0.0 + container_name: mysql-cont + ports: + - "3307:3307" + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: usersystem + MYSQL_PASSWORD: root + MYSQL_TCP_PORT: 3307 + volumes: + - mysql-data:/var/lib/mysql + networks: + - app-network + restart: always + + spring-boot-app: + build: . + container_name: spring-boot-app + ports: + - "8080:8080" + environment: + SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3307/usersystem?useSSL=false&serverTimezone=UTC&createDatabaseIfNotExist=true&allowPublicKeyRetrieval=true + SPRING_DATASOURCE_USERNAME: root + SPRING_DATASOURCE_PASSWORD: root + SPRING_JPA_HIBERNATE_DDL_AUTO: update + SPRING_JPA_SHOW_SQL: "true" + depends_on: + - mysql + networks: + - app-network + restart: always + +networks: + app-network: + +volumes: + mysql-data: +