공부/DevOps

[Docker] docker 로 mariadb 설치 후 연결하기 - (1)

leejinwoo1126 2021. 7. 27. 22:06
반응형


1. docker 실행 후 로그인 

[ MobaXterm ( 터미널 프로그램 )에서 명령어 입력  ]

 

2. mariaDB image 내려받기 

$ docker search mariadb   // mariadb 이미지 검색

$ docker pull mariadb     // mariadb 이미지 내려받기

$ docker images           // 내려받은 이미지 목록 확인

 

[ mariadb 이미지 검색 결과 ]
[ mariadb 이미지 내려받기 ( 태그가 test_db인 건 이전에 설치한 거 ) ]

 

3. mariaDB container 실행 

// 프로세스 확인
$ docker ps -a  또는 docker ps         

// container 실행
$ docker run --name mariadb_test -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mariadb mariadb 

$ docker run --name mariadb_test -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mariadb mariadb:latest

[옵션 설명] 

--name mariadb_test : 컨테이너 이름을 mariadb_test로 지정

-d : 컨테이너를 백그라운드로 실행

-p 3306:3306 : 호스트와 컨테이너 간의 포트연결 , 호스트에서 3306 포트 접속시 컨테이너 3306 포트로 포워딩 됨

-e : 환경변수 설정

MYSQL_ROOT_PASSWORD=mariadb : 컨테이너 내 환경변수 설정, root 계정의 패스워드를 mariadb로 지정.

mariadb : 다운받은 이미지명

 

[ 신규 mariadb_test container가 생긴 결과 ]

참고. docker container 명령어

$ docker start {이름}                  // container 시작(신규 생성)
$ docker restart {이름}                // container 재시작
$ docker stop {이름}                   // container  중지 
$ docker rm {이름}                     // container 삭제 
$ docker rmi {이미지명:태그명}           // 이미지 삭제 
$ docker ps -a                        // container(프로세스) 확인

 

4. mariadb_test container 접속 

$ docker exec -it mariadb_test /bin/bash         //mariadb_test는 3번에서 정한 name 

$ mysql -uroot -p              // mysql 접속
> status

[ mariadb_test container 접속 및 mariadb 접속 ]

 

 

5. MariaDB characterset 설정 변경하기 

5-1. 패키지 설치

OS가 우분투라 apt-get으로 패키지 설치 수행 (CentOS인 경우 yum으로 설치)

간단히 vim과 net-tools만 설치한다

$ apt-get update

$ apt-get upgrade

$ apt-get install -y vim net-tools   // 패키지 설치

 

netstat 명령어 실행시 mariaDB 기본 포트 3306이 올라와 있는 것을 확인 가능하다

[ 3306 포트 프로세스(mariadb 기본 포트)가 올라와 있는걸 확인 가능]

5-2. MariaDB 설정 수정

$ vim /etc/mysql/my.cnf

       

①  vim insert 모드로(i 명령어) 아래 설정을 적절한 위치에 붙여 넣고 저장한다 ( ctrl + cshift + Insert

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld] collation-server = utf8_unicode_ci

init-connect = 'SET NAMES utf8'

character-set-server = utf8

 

② esc 누르고 :wq! 입력 ( 저장 후 나가기 ) 

[ 수정전 ]
[ 수정 후 나가기 ]

5-3. container 재시작 

$ docker restart mariadb_test

 

5-4. 설정 변경 확인 

// container 터미널 접속
$ docker exec -it mariadb_test /bin/bash

// mysql 접속 및 설정 확인
$ mysql -uroot -p //비밀번호 mariadb

> status;

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형