본문 바로가기

STUDY/Docker

Docker | MariaDB utf8 설정

그냥 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 ./my.cnf /etc/mysql/

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

EXPOSE 3306

my.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]

실행 예시

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

 

참고

 

mariadb - Official Image | Docker Hub

We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy

hub.docker.com

 

'STUDY > Docker' 카테고리의 다른 글

Docker | 이미지 만들기 - commit  (0) 2021.06.18
Docker? (도커 설치, 실행해보기)  (0) 2021.06.15