Spring Boot 프로젝트를 진행 중에 DB 사용이 필요한 경우 Docker를 사용하면 간단하게 Mysql, Redis 서버 구성이 가능하다.

 

1. Docker 설치

# brew install --cask docker

터미널에서 docker 설치 명령어를 날린다.

 

2. Docker Hub에서 사용하려는 도커 이미지를 찾는다.

Docker Hub에 접속하여 MySql, Redis를 검색한다.

특정 버전이나 아키텍처를 찾아야 하는 경우가 아니라서 나는 그냥 mysql은 latest 버전을 redis는 alpine 버전을 Pull 받았다.

# docker pull mysql
# docker pull redis:alpine

 

3. MySql 도커 컨테이너 실행

# docker run --name my_service_db -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=my_service mysql

docker run 명령어를 이용해서 도커 컨테이너를 실행시킨다.

--name : 컨테이너의 이름 옵션

-p 3306:3306 : 로컬의 3306 포트와 도커의 3306 포트를 맵핑시키는 옵션

-e : 환경변수 옵션으로 Root 계정의 패스워드와 Database를 설정한다.

맨 마지막의 mysql은 도커 이미지명이다.

 

4. Redis 도커 컨테이너 실행

# docker run --name redis -p 6379:6379 redis:alpine

Redis의 경우 Mysql처럼 추가 환경변수를 주지 않아도 간단하게 바로 사용할 수 있다.

 

5. 도커 컨테이너 확인

# docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED        STATUS              PORTS                               NAMES
a92c8596a19d   mysql                           "docker-entrypoint.s…"   13 days ago    Up 26 hours         0.0.0.0:3306->3306/tcp, 33060/tcp   my_service_db
6fa466ccca86   redis:alpine                    "docker-entrypoint.s…"   4 months ago   Up About a minute   0.0.0.0:6379->6379/tcp              redis

잘 실행되는 것을 확인할 수 있다.

이제 Spring Boot 프로젝트에서 DataSource 설정 후 바로 사용하면 된다.. ㅎㅎ 

 

-끝-

'Docker' 카테고리의 다른 글

[Docker] Docker Compose MariaDB, MongoDB 도커라이징  (0) 2024.04.23
[Docker] docker compose boilerplate  (0) 2024.04.21
[Docker] Docker Compose V2  (0) 2024.04.21