그냥 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
참고
'STUDY > Docker' 카테고리의 다른 글
Docker | 이미지 만들기 - commit (0) | 2021.06.18 |
---|---|
Docker? (도커 설치, 실행해보기) (0) | 2021.06.15 |