JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

[실습] Spring Boot, MySQL 컨테이너 동시에 띄워보기

JSCODE 박재성
JSCODE 박재성
2025-12-01
author
JSCODE 박재성
category
Docker
createdAt
Dec 1, 2025
series
비전공자도 이해할 수 있는 Docker 입문
slug
run-spring-boot-and-mysql-together
type
post
updatedAt
Dec 1, 2025 12:07 PM

✅ Spring Boot, MySQL 컨테이너 동시에 띄워보기

  1. Spring Boot 프로젝트 셋팅
    1. start.spring.io
      https://start.spring.io/
      notion image
      • Java 17 버전을 선택하자. 아래 과정을 Java 17 버전을 기준으로 진행할 예정이다.
      • Dependencies는 Spring Boot DevTools, Spring Web, Spring Data JPA, MySQL Driver를 선택해라.
       
  1. 간단한 코드 작성
    1. AppController
      @RestController public class AppController { @GetMapping("/") public String home() { return "Hello, World!"; } }
       
  1. application.yml에 DB 연결을 위한 정보 작성하기
    1. application.yml
      spring: datasource: url: jdbc:mysql://localhost:3306/mydb username: root password: pwd1234 driver-class-name: com.mysql.cj.jdbc.Driver
 
  1. 불필요한 테스트 코드 삭제
    1. notion image
       
  1. Dockerfile 작성하기
    1. Dockerfile
      FROM openjdk:17-jdk COPY build/libs/*SNAPSHOT.jar /app.jar ENTRYPOINT ["java", "-jar", "/app.jar"]
 
  1. compose.yml 파일 작성하기
    1. compose.yml
      services: my-server: build: . ports: - 8080:8080 # my-db의 컨테이너가 생성되고 healthy 하다고 판단 될 때, 해당 컨테이너를 생성한다. depends_on: my-db: condition: service_healthy my-db: image: mysql environment: MYSQL_ROOT_PASSWORD: pwd1234 MYSQL_DATABASE: mydb # MySQL 최초 실행 시 mydb라는 데이터베이스를 생성해준다. volumes: - ./mysql_data:/var/lib/mysql ports: - 3306:3306 healthcheck: test: [ "CMD", "mysqladmin", "ping" ] # MySQL이 healthy 한 지 판단할 수 있는 명령어 interval: 5s # 5초 간격으로 체크 retries: 10 # 10번까지 재시도
       
  1. Spring Boot 프로젝트 빌드하기
    1. $ ./gradlew clean build
       
  1. compose 파일 실행시키기
    1. $ docker compose up -d --build
       
  1. compose 실행 현황 보기
    1. $ docker compose ps $ docker ps $ docker logs [Container ID]
Spring Boot 컨테이너의 로그를 열어보면 아래와 같이 에러 메시지가 떠있다. 아래 에러 메시지는 DB와 연결이 제대로 이루어지지 않았을 때 발생하는 에러이다.
notion image
 
MySQL이 정상적으로 실행이 안 되고 있는 건지 확인하기 위해 DB GUI 툴(ex. Workbench, Datagrip, DBeaver 등)을 활용해 DB 연결을 해보자. MySQL에 연결을 시도해보면 정상적으로 연결이 잘 되는 걸 확인할 수 있다.
notion image
 
 
❗
그럼 도대체 무엇이 문제길래 Spring Boot가 MySQL에 연결이 안 되는 걸까? 그 원인에 대해서 다음 강의에서 알아보자.
 
 
author
category
Docker
createdAt
series
비전공자도 이해할 수 있는 Docker 입문
slug
type
series-footer
updatedAt
Jan 12, 2026 12:04 AM
📎
이 글은 비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편) 강의의 수업 자료 중 일부입니다.