diff --git a/Dockerfile b/Dockerfile
index 7c4174fd29d16c0cc0f5dac2955b1f47666e877f..25d4798e2bfcd5231bc63679421ff190766a4c8b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,11 +1,27 @@
-# Base image: OpenJDK 17
+# Base image: OpenJDK 17 with Maven
+FROM maven:3.8.4-openjdk-17-slim AS build
+
+# 작업 디렉토리 설정
+WORKDIR /app
+
+# 소스 코드 복사
+COPY pom.xml .
+COPY src ./src
+
+# Maven을 사용하여 프로젝트 빌드
+RUN mvn clean package
+
+# 빌드가 완료된 JAR 파일을 target 폴더로 이동
+RUN mv target/myspringweb-0.0.1-SNAPSHOT.jar /app/target/app.jar
+
+# 실제 실행할 이미지 생성
 FROM openjdk:17
 
-# 앱을 실행시키기 위한 폴더 생성
+# 작업 디렉토리 설정
 WORKDIR /app
 
-# 호스트의 'target' 폴더에 있는 JAR 파일을 컨테이너의 '/app' 폴더로 복사
-COPY target/myspringweb-0.0.1-SNAPSHOT.jar app.jar
+# 빌드된 JAR 파일을 이미지로 복사
+COPY --from=build /app/target/app.jar .
 
 # 컨테이너의 8098 포트를 호스트의 8098 포트와 연결
 EXPOSE 8098