Docker 로 mariadb 설치하기

 mariadb docker run으로 설치하는 방법
-d옵션은 백그라운드로 실행하는 옵션이다.

$  docker run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=[root계정 비밀번호] \
-e MYSQL_DATABASE=[데이터베이스명] \
-e MYSQL_USER=[새롭게 생성할 user명] \
-e MYSQL_PASSWORD=[새롭게 생성할 user의 비밀번호] \
-v [볼륨]:/var/lib/mysql \
--network [네트워크명 생략 가능] \
--name [컨테이너명] \
mariadb

Dockerfile이나 docker-compose를 사용해 이미지를 만드는 방법을 추천한다.
mariadb (MySQL)의 기본 character-set이 latin1로 돼 있기 때문에 utf8(utfmb4)로 설정해줘야 한다.

FROM mariadb
COPY ./myenv.cnf /etc/mysql/

ENV MYSQL_ROOT_PASSWORD=
ENV MYSQL_DATABASE=
ENV MYSQL_USER=
ENV MYSQL_PASSWORD=

EXPOSE 3306

myenv.cnf파일 작성 예시는 아래와 같다.

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
character-set-client-handshake=FALSE
init-connect='SET NAMES utf8'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
bind-address=0.0.0.0

위에 작성한 Dockerfile을 build해서 이미지를 만들고, 이미지를 실행하면 된다.

$ docker build -t [image name] .
$ docker run [OPTIONS] [image name]

mariadb 실행 예시

$ docker build -t mariadb-utf8 .
$ docker run -d -p 3306:3306 \
--network [network ID or name] \
--name mariadb \
mariadb-utf8

mariadb 참고

https://hub.docker.com/_/mariadb

Leave a Reply

Your email address will not be published. Required fields are marked *