티스토리 뷰

개발/Docker

[Docker] 도커로 MariaDB 쓰기

leanQ_mountain 2019. 5. 8. 02:12

MariaDB를 도커로 올려보자,

고려할 점!

  1. MariaDB는 기본 언어가 latin 이다. 설정파일을 미리 만들어서 사용 하자.
  2. docker로 올릴 때, 환경변수를 지정하면, 루트 비밀번호와 게정을 설정할 수 있다.
  3. 포트번호는 3306이다. volume 설정으로 /var/lib/mysql 을 연결하면 데이터를 컴퓨터와 동기화할 수 있다.
  4. 테스트용 디비를 사용한다면 테스트 데이터를 미리 덤프 받아놓고 사용한다.(옵션)
    # 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 # 이미지 이름

그리고 접속해보면 된다.