From 845f51b7497909daf4001475d591836b6e47ee87 Mon Sep 17 00:00:00 2001 From: Muntasar Al Rashdi Date: Tue, 30 Jul 2024 14:31:43 +0400 Subject: [PATCH] Added dockerfile and docker-compose --- Dockerfile | 9 +++++++++ docker-compose.yml | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4e542cf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM maven:3.8.1-openjdk-17 AS build +WORKDIR /app +COPY . . +RUN mvn clean package -DskipTests + +FROM openjdk:17-jdk-alpine +WORKDIR /app +COPY --from=build /app/target/rihal-0.0.1-SNAPSHOT.jar rihal-0.0.1-SNAPSHOT.jar +ENTRYPOINT ["java", "-jar", "rihal-0.0.1-SNAPSHOT.jar"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..1e441b5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,41 @@ +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 # Restart policy for MySQL + + 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 # Restart policy for Spring Boot app + +networks: + app-network: + +volumes: + mysql-data: \ No newline at end of file