docker

[Docker] Docker MySQL사용하기

수수한개발자 2022. 10. 9.
728x90

Docker에 MySQL 설치하기

DockerHub에 MySQL이 존재하기 때문에 별도의 설치 없이 바로 mysql을 사용할 수 있습니다.

만약 MySQL 이미지를 설치하려면 

docker pull mysql:8.0.17

위와 같은 명령어를 치면 됩니다. 

docker pull mysql 시에는 최신 버전 'latest'를 가져옵니다!

 

 MySQL 컨테이너 생성하기

docker run -p 3306:3306 --name board -e MYSQL_ROOT_PASSWORD=1234 
-e MYSQL_DATABASE=board -e MYSQL_USER=jisu -e MYSQL_PASSWORD=1234  -d mysql

포트 번호는 '3306'으로 여러개의 mysql을 만들시에는 3307:3306, 3308:3306 이런식으로 만들어주면 됩니다.

 

--name  : mysql  : 생성할 도커의 컨테이너 이름입니다.

-e MYSQL_ROOT_PASSWORD=1234 -e : 환경변수(PASSWORD) 설정

-e MYSQL_DATABASE=board : MySQL 데이터베이스 이름입니다.

-e MYSQL_USER = jisu : MySQL 유저네임 이름입니다.

-e MYSQL_PASSWORD =1234  MySQL 유저 패스워드 입니다,

 

여기에 원하는 값들을 넣어 주시면 됩니다. 이렇게 생성한 mysql 컨테이너는 스프링부트에서 바로 사용할 수 있습니다.

## MySQL
spring.datasource.url=jdbc:mysql://localhost:3306/board
spring.datasource.username=jisu
spring.datasource.password=1234
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

위의 컨테이너를 만들때 사용한 값들로 DB연결이 됩니다.

위의 명령어를 치게 되면 다음과 같은 화면이 됩니다.

docker ps -a

이제 위의 명령어를 치게 되면 방금 만든 board 컨테이너의 상태가(STATUS) UP으로 되어있으면 실행중인 상태입니다.

만약 MySQL 실행 전 해당 컨테이너의 STATUS가 Exited라면 

docker start {컨테이너이름}

명령어를 쳐주면 됩니다. 저는 docker start board를 치면 되겠죠?

 

Docker MySQL 컨테이너 접속하기

 

docker exec -it {컨테이너 이름} bash

이제 MySQL 컨테이너를 실행해볼 차례입니다. 아까 만들어 주었던 board를 실행하려면

docker exec -it board bash

명령어를 통해 해당 컨테이너에 접속하실 수 있습니다.

 

컨테이너의 접속하게 되면 다음 명령어를 통해 MySQL 서버에 접속할 수 있습니다.

 

mysql -u root -p

 

mysql -u root -p 명령어를 통해 위에서 생성한 mysql 서버에 접속 할 수 있습니다.

여기서 password는 컨테이너 생성시에 만들었던 password를 입력하셔야합니다.

 

입력하게되면 위와같은 화면이 됩니다.

이제 여기서 mysql 명령어들을 사용 할 수 있습니다.

 

728x90

댓글