Docker - 도커로 Mariadb 컨테이너 간편하게 설치하기

도커(Docker)를 이용하면 손쉽고 빠르게 Mariadb를 설치해서 사용할 수 있습니다. Mariadb 뿐만 아니라 가상화되어 있는 수많은 이미지들을 컨테이너로 만들어 사용할 수 있습니다. 처음 도커를 사용하신다고요? 그래도 이 글에서 소개할 명령문만 있으면 헤매지 않고 Mariadb를 설치해서 쓸 수 있습니다.

 

tip. 도커(Docker)를 설치하지 않았다면 먼저 도커를 다운받자

도커는 엑셀과 같이 운영체제 위에서 돌아가는 하나의 프로그램입니다. 그렇기 때문에 도커를 설치하지 않으셨다면, 공식 사이트를 방문해 도커를 다운하여 설치해주세요. 설치방법은 일반적인 응용프로그램처럼 다운로드 받아 실행을 시키시면 됩니다.

Docker download - 도커 공식 홈페이지

Docker hub에서 Mariadb 이미지를 다운로드 받자

공식 홈페이지에서 도커를 다운로드하여서 설치하셨다면, 이제는 본격적으로 Mariadb를 설치하기 위해 Mariadb 이미지를 다운받아 보겠습니다. 사용자 환경에 따라 화면이 조금은 다를 수 있지만 도커는 CLI를 기반으로 동작하기 때문에 명령어를 입력할 수 있는 창을 이용해 진행과정을 살펴보도록 하겠습니다.

 

Docker - Mariadb 이미지 다운로드 받기

docker pull mariadb

 명령어를 입력해서 실행하시면 Docker hub에 있는 이미지를 사용자 컴퓨터에 다운받을 수 있습니다.

docker pull mariadb

 

 

Mariadb를 설치하자

Mariadb 이미지를 다운로드하였다면, 다운로드 한 이미지를 기준을 컨테이너를 만들 차례입니다. 도커에서 컨테이너를 만든다는 이야기는 프로그램을 설치한다는 것과 같은 의미입니다. 정리한다면 프로그램(이미지)을 다운받았으니, 이제 설치(컨테이너 만들기) 할 차례라는 이야기예요.

 

Docker - Mariadb 컨테이너를 만들고 실행하기

docker run \
    --name mariadb \
    -d \
    -p 3306:3306 \
    --restart=always \
    -e MYSQL_ROOT_PASSWORD=root \
    mariadb

or

docker run --name mariadb -d -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root mariadb

 입력하는 명령문의 내용을 간략하게 설명하면 아래와 같습니다.

 

--name: 만들어서 사용할 컨테이너의 이름을 정의

-d: 컨테이너를 백그라운드에서 실행

-p: 호스트와 컨테이너 간의 포트를 연결 (host-port:container-port) // 호스트에서 3306 포트 연결 시 컨테이너 3306 포트로 포워딩

--restart=always: 도커가 실행되는 경우 항상 컨테이너를 실행

-e: 기타 환경설정(Enviorment)

  MYSQL_ROOT_PASSWORD=root // mariadb의 root 사용자 초기 비밀번호를 설정

mariadb: 컨테이너를 만들 때 사용할 이미지 이름

docker run with mariadb

 두 가지의 명령어만으로 도커로 Mariadb 이미지를 다운로드하고, Mariadb를 설치(컨테이너 만들기)했습니다. 위에서 진행한 과정만으로 Mariadb 설치 과정이 모두 끝났습니다. 정말 어렵지 않습니다. Mariadb를 다운받아 설치하는 것보다 한 단계의 과정이 더 있지만 도커를 이용해서 Mariadb를 설치하면 설치뿐만 아니라 업데이트, 삭제까지 명령어 한 번이면 됩니다. 그것도 흔적이 남지 않고 깔끔하게 말이죠.

 

 

Mariadb에 database를 추가하고 user를 설정해보자.

도커를 이용해서 Mariadb를 설치하는 과정은 다 끝났지만 몇 가지 설정을 해볼 까 합니다. database를 만들고 user를 추가해 권한을 부여하는 부분까지 말이죠.

 

Docker - Mariadb 컨테이너 접속하기

docker exec -it mariadb /bin/bash

 만약 Mariadb 컨테이너를 만드실 때 컨테이너의 이름을 변경하셨다면 mariadb 대신 변경하신 컨테이너의 이름을 사용해주세요.

 

Mariadb - 루트 계정으로 데이터베이스 접속하기

mysql -u root -p

 위의 명령어를 입력하고 엔터를 하면 Mariadb 컨테이너를 만들 때 사용한 패스워드를 입력하시면 됩니다. 예시로 드린 명령어에서는 "root"를 root의 초기 비밀번호로 설정하였습니다.

 

Mariadb - 데이터 베이스 만들기

create database [db_name];

ex) create database test;

 

Mariadb - 사용자 추가하기

create user 'user_name'@'XXX.XXX.XXX.XXX' identified by 'user_password';

ex) create user 'tester'@'%' identified by 'tester1234';

 

Mariadb - 사용자 권한 부여하기

grant all privileges on db_name.* to 'user_name'@'XXX.XXX.XXX.XXX';
flush privileges;

ex)
grant all privileges on test.* to 'tester'@'%';
flush privileges;

 

 Mariadb의 버전에 혹은 사용자 개발 환경에 따라 달라지는 부분이 발생할 수 있지만 위의 과정을 진행하면 최종적으로 아래와 같이 진행됩니다.

Mariadb에 database 추가하고 user 설정하기

 

반응형

댓글

Designed by JB FACTORY