diff --git a/Dockerfile b/Dockerfile
index 864ea0b419da456c3c9365d9cdbae90780daebc4..89862cd86e6b7f430269a1509ded96b34ed34c97 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,28 @@
-FROM openjdk:17-jdk
+# 1단계: 빌드용 이미지
+FROM maven:3.9.6-eclipse-temurin-17 AS builder
+
 WORKDIR /app
-COPY target/*.jar app.jar
+
+# pom.xml과 소스 복사
+COPY pom.xml .
+COPY src ./src
+
+# 의존성 캐시를 위한 별도 단계
+RUN mvn dependency:go-offline
+
+# 애플리케이션 빌드
+RUN mvn clean package -DskipTests
+
+# 2단계: 실행용 이미지
+FROM eclipse-temurin:17-jdk
+
+WORKDIR /app
+
+# 빌드된 JAR 복사
+COPY --from=builder /app/target/myweb-0.0.1-SNAPSHOT.jar app.jar
+
+# 8080 포트 열기
 EXPOSE 8080
-ENTRYPOINT ["java","-jar","app.jar"]
+
+# Spring Boot 앱 실행
+ENTRYPOINT ["java", "-jar", "app.jar"]
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 6dde03a17bd8ddee9cc7d64a5e4257c11f989e61..7995f6cc0ecd29eeadbf7098d5f1227f10bff4a9 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -1,6 +1,10 @@
-version: "3.3"
+version: '3.8'
+
 services:
   myweb:
-    build: .
+    image: myweb
+    build:
+      context: .
+      dockerfile: Dockerfile
     ports:
       - "8080:8080"
diff --git a/src/main/java/com/ajou/procoding/myweb/service/MusicService.java b/src/main/java/com/ajou/procoding/myweb/service/MusicService.java
index 19c820c56577822dd33fbe3ba72d0a82b4ccd52c..7f5420d6f42e41e09127053ea5ab0e906c724577 100644
--- a/src/main/java/com/ajou/procoding/myweb/service/MusicService.java
+++ b/src/main/java/com/ajou/procoding/myweb/service/MusicService.java
@@ -23,8 +23,6 @@ public class MusicService {
     private final FavoriteRepository albumsRepo;
     private final RestTemplate restTemplate = new RestTemplate();
 
-
-    //iTunes API를 호출해 앨범 검색 결과(MusicList) 반환 
     public MusicList searchMusic(String name) {
         try {
             String url = String.format("https://itunes.apple.com/search?term=%s&entity=album", name);
@@ -39,21 +37,15 @@ public class MusicService {
         }
     }
 
-    
-    //DB에서 FavoriteMusic 목록을 조회 
     public List<FavoriteMusic> getLikes() {
         return albumsRepo.findAll();
     }
 
-    
-     //즐겨찾기 등록
-     //DTO -> 엔티티 변환 후 DB에 저장, 성공 시 1, 실패 시 0 반환
     public int saveFavorite(FavoriteMusicRequestDto favorite) {
         FavoriteMusic music = albumsRepo.save(favorite.toEntity());
         return (music != null) ? 1 : 0;
     }
 
-    // 존재하는지 확인 (없으면 예외 혹은 0 return 등)    
     public int deleteFavorite(String id) {
         try {
             if (albumsRepo.existsById(id)) {