[Docker로 MySQL 컨테이너 실행 -> Spring Boot 애플리케이션 연결]

yongcrane·2025년 3월 18일

오늘은 Docker를 사용하여 MySQL 데이터베이스를 설정하고, Spring Boot 애플리케이션과 연결하는 방법에 대해 알아보겠습니다. MySQL을 도커로 간편하게 실행할 수 있는 방법과, Spring Boot에서 MySQL에 연결하는 설정까지 단계별로 설명드리겠습니다.

우선 Docker Hub에 접속하여 Mysql을 검색한다.
https://hub.docker.com/_/mysql

1. Docker로 MySQL 컨테이너 실행하기

MySQL을 도커에서 실행하는 첫 번째 단계는 MySQL 이미지를 다운로드하고 실행하는 것이다. 아래와 같이 명령어를 실행하여 MySQL 컨테이너를 시작한다.

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7

뒤에 버전을 넣어야 생성이 된다.

여기서 중요한 부분:

  • name some-mysql: MySQL 컨테이너의 이름을 some-mysql로 설정
  • e MYSQL_ROOT_PASSWORD=my-secret-pw: root 계정의 비밀번호를 my-secret-pw로 설정. 이 비밀번호는 MySQL에 접속할 때 사용된다.
  • d: 컨테이너를 백그라운드에서 실행하도록 설정.
  • mysql:5.7: MySQL 버전 5.7을 사용하는 이미지를 다운로드하여 실행.
  • 컨테이너가 실행되면 MySQL은 기본적으로 3306 포트에서 실행. 이 포트를 통해 Spring Boot 애플리케이션이 MySQL과 연결할 수 있다.

2. MySQL에 접속하여 데이터베이스 생성하기

MySQL을 컨테이너에서 실행하면 기본적으로 root 계정만 존재한다. test와 같은 데이터베이스를 사용하려면, MySQL에 접속하여 해당 데이터베이스를 수동으로 생성해야 한다.

MySQL 컨테이너에 접속

docker exec -it some-mysql mysql -u root -p

MySQL 설치했을 때 사용했던
root 사용자로 MySQL에 접속할 수 있도록 한다. 비밀번호를 입력하라는 메시지가 나오면, my-secret-pw를 입력한다.

접속한 후 , test 데이터 베이스 생성

CREATE DATABASE test;

3. Spring Boot에서 MySQL 연결 설정

MySQL 컨테이너가 실행되고, 데이터베이스가 준비되었으니, 이제 Spring Boot 애플리케이션에서 MySQL과 연결을 설정.

application.yml 기준

4. 의존성 추가

dependencies {
    // JPA + MySQL
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    // MySQL Driver
    runtimeOnly 'com.mysql:mysql-connector-j'

5. 결론

이렇게 해서 Docker로 실행된 MySQL에 Spring Boot 애플리케이션을 연결하는 방법을 스터디했다. MySQL 컨테이너를 실행하고, 데이터베이스를 생성한 후, application.yml 파일에서 MySQL과 연결할 수 있는 정보를 설정했다.

Docker를 이용한 MySQL 컨테이너 실행과 Spring Boot의 데이터베이스 연결을 간단히 설정할 수 있기 때문에, 개발 환경에서 MySQL을 쉽게 다룰 수 있었다. Docker를 이용하면 MySQL과 같은 데이터베이스 서버를 독립적인 환경에서 실행할 수 있어, 테스트 및 개발 환경을 더욱 효율적으로 관리할 수 있을 것 같다.

profile
짧고 강력하게!

0개의 댓글