From eb41970d31785b9381523b00977a96fe528ee975 Mon Sep 17 00:00:00 2001 From: Abdullrahman Eissa Date: Thu, 8 Jan 2026 10:47:35 +0200 Subject: [PATCH] Containarized Succeffully --- Dockerfile | 16 ++++++++++++++++ docker-compose.yml | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..909de1e69 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +# ---------- Build Stage ---------- +FROM maven:3.9.6-eclipse-temurin-17 AS build +WORKDIR /app +COPY pom.xml . +RUN mvn dependency:go-offline +COPY src ./src +RUN mvn clean package -DskipTests + + + + +FROM tomcat:10.1-jdk17-temurin +RUN rm -rf /usr/local/tomcat/webapps/* +COPY --from=build /app/target/*.war /usr/local/tomcat/webapps/ROOT.war +EXPOSE 8082 +CMD ["catalina.sh", "run"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..ffa032475 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,37 @@ +version: "3.9" + +services: + db: + image: mysql:8.0 + container_name: vprofile-db + restart: unless-stopped + environment: + MYSQL_DATABASE: accounts + MYSQL_USER: vprofile + MYSQL_PASSWORD: vprofile123 + MYSQL_ROOT_PASSWORD: root123 + volumes: + - dbdata:/var/lib/mysql + # optional: auto-init schema + # - ./src/main/resources/accountsdb.sql:/docker-entrypoint-initdb.d/init.sql + ports: + - "3306:3306" + + app: + build: + context: . + dockerfile: Dockerfile + container_name: vprofile-app + restart: unless-stopped + depends_on: + - db + environment: + DB_HOST: db + DB_NAME: accounts + DB_USER: vprofile + DB_PASS: vprofile123 + ports: + - "8082:8080" + +volumes: + dbdata: