diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
new file mode 100644
index 0000000..4af70f3
--- /dev/null
+++ b/.github/workflows/docker.yml
@@ -0,0 +1,95 @@
+name: main Workflow
+
+on:
+  push:
+    branches:
+      - develop
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+
+      - name: Set up JDK 17
+        uses: actions/setup-java@v3
+        with:
+            java-version: '17'
+            distribution: 'adopt'
+
+      - name: Set .yml for main
+        run: |
+          mkdir -p src/main/resources
+          echo "${{ secrets.MAIN_DATABASE_YML }}" | base64 --decode > src/main/resources/application.yml
+
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v1
+
+      - name: Run chmod to make gradlew executable
+        run: chmod +x ./gradlew
+
+      - name: Build with Gradle
+        run: ./gradlew clean build --exclude-task test
+
+      ## 웹 이미지 빌드 및 도커허브에 push
+      - name: web docker build and push
+        run: |
+          docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
+          docker build -t ${{ secrets.DOCKER_REPO }}/meme-service .
+          docker push ${{ secrets.DOCKER_REPO }}/meme-service    
+
+      - name: EC2 docker remove
+        uses: appleboy/ssh-action@v0.1.6
+        with:
+          host: ${{ secrets.HOST }}
+          username: ec2-user
+          key: ${{ secrets.KEY }}
+          script: |
+            if [ "$(sudo docker ps -aq)" ]; then
+              sudo docker stop $(sudo docker ps -aq)
+              sudo docker rm -f $(sudo docker ps -aq)
+            fi
+            if [ "$(sudo docker images -aq)" ]; then
+              sudo docker rmi -f $(sudo docker images -aq)
+            fi
+
+      - name: Copy file to EC2
+        uses: appleboy/scp-action@master
+        with:
+          host: ${{ secrets.HOST }}
+          username: ec2-user
+          key: ${{ secrets.KEY }}
+          source: ./docker-compose.yaml
+          target: /home/ec2-user/
+
+      - name: Create and Copy .env File to EC2
+        uses: appleboy/ssh-action@v0.1.6
+        with:
+          host: ${{ secrets.HOST }}
+          username: ec2-user
+          key: ${{ secrets.KEY }}
+          script: |
+            # Create .env file
+            echo "DB_URL=${{ secrets.DB_URL }}" > ~/.env
+            echo "DB_USERNAME=${{ secrets.DB_USERNAME }}" >> ~/.env
+            echo "DB_PASS=${{ secrets.DB_PASS }}" >> ~/.env            
+
+            # Copy .env file to the project directory
+            #cp ~/.env /home/ec2-user/.env
+
+      ## docker compose up
+      - name: Docker Compose on EC2
+        uses: appleboy/ssh-action@master
+        with:
+          host: ${{ secrets.HOST }}
+          username: ec2-user
+          key: ${{ secrets.KEY }}
+          script: |
+            # Docker 이미지 다운로드
+            sudo docker pull ${{ secrets.DOCKER_REPO }}/meme-service
+            
+            # Docker Compose 실행
+            sudo docker-compose up -d
+            sudo docker-compose logs -f
+            
+            # 사용하지 않는 Docker 이미지 정리
+            sudo docker image prune -f
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..189b146
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,4 @@
+FROM openjdk:17-alpine
+ARG JAR_FILE=build/libs/*.jar
+COPY ${JAR_FILE} app.jar
+ENTRYPOINT ["java","-jar","/app.jar"]
\ No newline at end of file
diff --git a/docker-compose.yaml b/docker-compose.yaml
new file mode 100644
index 0000000..68df57a
--- /dev/null
+++ b/docker-compose.yaml
@@ -0,0 +1,18 @@
+version: '3'
+services:
+  web:
+    container_name: service
+    image: sunwupark/meme-service
+    expose:
+      - 8080
+    ports:
+      - "8080:8080"
+
+  auth:
+    container_name: auth
+    image: sunwupark/meme-auth
+    expose:
+      - 8081
+    ports:
+      - "8081:8081"
+    depends_on: web
diff --git a/gradlew b/gradlew
old mode 100644
new mode 100755
diff --git a/src/main/java/umc/meme/shop/domain/artist/entity/Artist.java b/src/main/java/umc/meme/shop/domain/artist/entity/Artist.java
index dadc365..5d7b759 100644
--- a/src/main/java/umc/meme/shop/domain/artist/entity/Artist.java
+++ b/src/main/java/umc/meme/shop/domain/artist/entity/Artist.java
@@ -45,7 +45,7 @@ public class Artist {
     private String profileImg;
 
     @Column(nullable = false, length = 500)
-    private String introduction = "안녕하세요! 저는 ___입니다!";
+    private String introduction;
 
     @Enumerated(EnumType.STRING)
     @Column(nullable = false)
diff --git a/src/main/java/umc/meme/shop/domain/review/dto/response/ReviewResponseDto.java b/src/main/java/umc/meme/shop/domain/review/dto/response/ReviewResponseDto.java
index 02824df..3d4337e 100644
--- a/src/main/java/umc/meme/shop/domain/review/dto/response/ReviewResponseDto.java
+++ b/src/main/java/umc/meme/shop/domain/review/dto/response/ReviewResponseDto.java
@@ -19,7 +19,6 @@ public class ReviewResponseDto {
     private List<ReviewImgDto> reviewImgDtoList;
 
     public static ReviewResponseDto from(Review review){
-
         List<ReviewImgDto> reviewImgDtoList = review.getReviewImgList()
                 .stream()
                 .map(reviewImg -> new ReviewImgDto(reviewImg.getReviewImgId(), reviewImg.getSrc(), false))