DevOps/Database

Mariadb 도커로 로컬 환경 구성하기

soohey 2023. 2. 21. 16:27

사이드 프젝하다가 개발팀에 공유한 내용인데 블로그에도 공유합니다.. :)..

 

도커로 설치하기

도커를 이용해서 설치하면 명령어로 업데이트/삭제/생성이 간편하게 해결됩니다.

도커 허브에서 MariaDB 이미지 다운로드

docker pull mariadb

도커 컨테이너 생성하기

도커 이미지는 mariadb를 설치할 수 있는 파일을 다운받은 것이다.

도커 컨테이너는 설치된 파일로 mariadb를 띄우는 것이다.

 

특이사항이 있다면 포트 번호를 33306으로 바꿔둠

기본 포트 번호는 3306인데 나는 로컬에 이미 올라간 DB가 많아서 그냥

33306으로 해두었음~

 

처음 올리는 사람은 그냥 3306:3306으로 하자.

docker run --name ozikDB -d -p 33306:33306 --restart=always -e MYSQL_ROOT_PASSWORD=root mariadb
  • —name : 컨테이너 이름 정의
  • -d : 백그라운드에서 실행
  • -p : 호스트와 컨테이너 포트를 연결포워딩 (host:container)
  • —restart=always : 도커 실행시 항상 컨테이너를 실행
  • -v : 볼륨 지정
  • -e : 기타 환경 설정
    • MYSQL_ROOT_PASSWORD = root : root 비밀번호 설정
  • mariadb : 컨테이너에 사용할 이미지

도커로 mariadb 접속하기

# 도커 mariadb 컨테이너 접속
docker exec -it ozikDB /bin/bash

# root 계정으로 접속하기
mysql -u root -p

# 데이터베이스 생성
create database ozik;

# dev 계정 만들기
create user 'dev'@'%' identified by 'dev!23$';

# 계정에 권한 부여
grant all privileges on ozik.* to 'dev'@'%';

도커 컨테이너 확인하기

docker ps

도커 mariadb 컨테이너 포트 지정하기

위에 말했듯이 나는 33306:33306으로 포트 설정을 해두었다.

마리아 db은 기본적으로 포트가 3306으로 설정이 되어있기 때문에 

mysql config를 33306으로 고쳐주는 작업이 필요함.. 

mysql 포트 확인하기

show global variables like 'port';

포트 번호가 3306으로 되어있다. 처음 도커 컨테이너 생성할때 지정했던 33306으로 바꿔주어야 함.

my.conf 파일을 수정하면 된다.

컨테이너 내부에 vi 설치

apt-get update
apt-get install vim

포트 번호 변경하기

/etc/mysql/my.cnf 을 수정하면 된다.

vi /etc/mysql/my.cnf

port = 33306 추가

이후 컨테이너 재시작하면 포트가 33306으로 바껴있는걸 확인할 수 있다.