diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..96a750a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ + +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 + +CMD ["java", "-jar", "rihal-0.0.1-SNAPSHOT.jar"] diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..d6d1670 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,38 @@ +version: '3.8' + +services: + mysql: + image: mysql:8.0 + container_name: mysql-cont + ports: + - "3307:3306" + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: usersystem + MYSQL_PASSWORD: root + volumes: + - mysql-data:/var/lib/mysql + networks: + - my-network + + java-app: + build: . + container_name: java-app + ports: + - "8080:8080" + environment: + SPRING_DATASOURCE_URL: jdbc:mysql://mysql-cont:3306/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: + - my-network + +volumes: + mysql-data: + +networks: + my-network: