docker 이미지 받고 컨테이너 실행시키는 방법 참고
Docker를 통해서 MariaDB 설치하기
이미지 다운로드
(sudo) docker pull 이미지이름:버전
/etc/mysql/my.cnf MariaDB 이미지 다운로드
latest 버전: 최신 버전 받기
생략할 경우: 가장 Default tag를 사용하여 가장 최근 버전을 내려받는다.
컨테이너 실행
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 --name testmariadb mariadb
-d | detached mode, 백그라운드에서 실행 |
-p | 호스트와 컨테이너의 포트를 연결 (포워딩) 호스트에서 3306 포트 접속 시 컨테이너 3306 포트로 포워딩됨 |
-v | 호스트와 컨테이너의 디렉토리를 연결 (마운트) 컨테이너를 삭제 시 데이터 복구를 편리하게 하기 위해 사용 |
-e | 컨테이너 내에서 사용할 환경변수 설정 MYSQL_ROOT_PASSWORD=1234는 root 계정의 패스워드를 1234로 지정 |
--name | 컨테이너 이름 설정 testmariadb |
--character-set-server=utf8mb4 --collation-server= utf8mb4_unicode_ci |
1. character-set-server, DB 서버의 기본 문자셋으로서 설정 파일에 명시한 대로 utf8mb4로 설정 2. collation-server 문자열 정렬 규칙 |
컨테이너 목록 확인
(sudo) docker ps
실행 중인 컨테이너 목록을 가져온다.
컨테이너 실행
docker -exec -it testmariadb /bin/bash
mariadb를 실행하고 해당 DB에 접속하기 위해서 위에 명령어를 실행하여 컨테이너의 bash로 접속한다.
MariaDB 접속
mysql -u root -p
명령어를 이용하여 DB 접속한다.
password는 MYSQL_ROOT_PASSWORD 값이다.
여기까지 설치 완료!
Characterset 변경
status
참고) utf8mb4 UTF-8 인코딩은 4바이트 가변 길이 인코딩 방식이다. utf8 4바이트짜리 character set인 utf8mb4을 추가하였다. |
/etc/mysql/my.cnf 파일 수정
exit 커맨드를 입력하여 DB를 종료하고 vim을 이용하여 파일을 열어 내용을 추가한다.
만일 vim이 없다면 vim 또는 nano를 설치하여 변경할 수 있는 환경을 만들어야 한다.
참고) [docker] 컨테이너 /bin/bash에 vim 설치
conf 설정 추가
/etc/mysql/my.cnf 에 내용 추가해준다.
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
재부팅
exit 명령어를 이용하여 docker를 빠져나오고 재실행해준다.
docker restart mariadb
문자열 인코딩 변경 확인
컨테이너에 접속하여 mysql에 접속하여 아래 명령어로 문자열 인코딩이 변경되었는지 확인
docker exec -it mariadb /bin/bash
mysql -u root -p
status
참고
https://mariadb.com/kb/en/installing-and-using-mariadb-via-docker/
'Cloud' 카테고리의 다른 글
[Hypervisor] Windows 10에 MS Hyper-V 설치 (295) | 2021.06.11 |
---|---|
[docker] 컨테이너 /bin/bash에 vim 설치 (306) | 2021.06.04 |
[docker] docker 기본 명령어 #1 (288) | 2021.06.03 |
[docker] 컨테이너 기반의 가상화 도구 docker 설치 in Ubuntu (432) | 2021.06.03 |
[Cloud] 클라우드 서비스(Cloud Service) 이해하기 (301) | 2021.05.04 |