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 참고