티스토리 뷰
MariaDB를 도커로 올려보자,
고려할 점!
- MariaDB는 기본 언어가 latin 이다. 설정파일을 미리 만들어서 사용 하자.
- docker로 올릴 때, 환경변수를 지정하면, 루트 비밀번호와 게정을 설정할 수 있다.
- 포트번호는 3306이다. volume 설정으로
/var/lib/mysql
을 연결하면 데이터를 컴퓨터와 동기화할 수 있다. - 테스트용 디비를 사용한다면 테스트 데이터를 미리 덤프 받아놓고 사용한다.(옵션)
# docker run 할 때, -d는 detach, -p는 외부 연결 포트지정, -v 는 디렉토리 연결, -e는 환경변수 지정이다.
docker run -d \
-e MYSQL_ROOT_PASSWORD=root_secret \
-e MYSQL_DATABASE=test \
-e MYSQL_USER=test_user \
-e MYSQL_PASSWORD=test_password \
-v $(PWD)/conf.d:/etc/mysql/conf.d \
-v $(PWD)/db:/var/lib/mysql \
-p 3306:3306 \
mariadb
#해설
# docker run 할 때, -d는 detach, -p는 외부 연결 포트지정, -v 는 디렉토리 연결, -e는 환경변수 지정이다.
docker run -d \ # detach 옵션, 백그라운드에서 돌린다!
-e MYSQL_ROOT_PASSWORD=root_secret \ # 환경변수 지정, 루트 계정 비밀번호
-e MYSQL_DATABASE=test \ # 환경변수 지정, 디폴트 생성 데이터베이스 이름
-e MYSQL_USER=test_user \ # 환경변수 지정, 계정
-e MYSQL_PASSWORD=test_password \ # 환경변수 지정, 계정 비밀번호
-v $(PWD)/conf.d:/etc/mysql/conf.d \ # volume 설정, 현재 디렉토리의 conf.d 디렉토리와 도커 내부의 /etc/mysql/conf.d 경로를 연결(my.cnf 또는 custom-config.cnf 파일로 기본 언어 설정 utf8mb4로 설정이 가능하다.)
-v $(PWD)/db:/var/lib/mysql \ # volume 설정, 현재 디렉토리의 db 디렉토리와 도커 내부의 /var/lib/mysql 경로를 연결(데이터베이스 데이터가 있으면 연결 가능)
-p 3306:3306 \ # 포트설정, 컴퓨터의 3306과 도커의 3306 연결, localhost:3306으로 접속하면 도커의 3306으로 접속
mariadb # 이미지 이름
그리고 접속해보면 된다.