카테고리 없음

도커와 MariaDB 설치

superbono 2021. 7. 16. 12:01

도커

 * Docker(도커)?

리눅스의 응용 프로그램들을 프로세스 격리 기술을 사용하여 컨테이너로 관리하며 실행하는 프로젝트이다. 도커 컨테이너는 소프트웨어를 소포트웨어의 실행헤 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 따라서 도커의 가장 큰 장점인 실행 중인 환경에 관계 없이 언제나 동일한 실행을 보장한다. 팀 프로젝트를 할 때 누구는 되고 누구는 안되고 이런 경험이 있을 텐데 이런 어려움을 도커를 사용하여 해결할 수 있다. 

 

* 도커 설치 

docker client와 server를 한번에 설치할 수 있는 도커 허브를 설치한다. 

https://docs.docker.com/docker-for-windows/install/

 

Install Docker Desktop on Windows

 

docs.docker.com

윈도우 용인데 만약 os가 맥이거나 하면 본인의 os에 맞춰서 설치한다.

 

도커를 설치한 후 실행해보면 

이런 에러가 뜰 수 있다. 이런 경우에는 

https://docs.microsoft.com/en-us/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package

 

Install WSL on Windows 10

Learn how to install Linux distributions on your Windows 10 machine, with a Bash terminal, including Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, and Alpine.

docs.microsoft.com

이 페이지의

Step 4 - Download the Linux kernel update package 에서 패키지를 다운받아 설치하면 된다.

 

어쨋든 도커 설치를 완료한 뒤 확인을 해보자

cmd 창을 열어서 

docker --version

을 입력하였을 때, 설치한 도커 버전을 확인할 수 있다면 설치 완료이다.

 

* MariaDB 설치하기

도커를 실행한 뒤에 cmd 창에서 

더보기

docker run --name maria-db -p 3306:3306 -e MYSQL_ROOT_PASSWORD=summer -d mariadb

를 입력한다. 그럼 mariadb 컨테이너가 실행되고 run 명령어를 통해 mariadb 이미지를 자동으로 다운받는다. 

비밀번호는 저 빨간색 부분에 알아서 각자 넣으면 된다. 포트번호는 3306으로 했다.

 

설치가 완료된 뒤 

더보기

docker exec -it maria-db mysql -u root -p

를 입력하여 mariadb를 실행시켜보자.

 

 

* Character Set 변경

기본 캐릭터 셋이 latin-1로 되어 있어서 문자 인코딩에 문제가 생길 수 있다. 설치하자마자 애초에 utf8mb4로 바꾸어주자.

도커를 실행하고 cmd 창에서

더보기

docker exec -it maria-db mysql -u root -p

를 입력하여 mariadb에 접속한 뒤 SHOW VARIABLES LIKE 'c%' 를 입력하여 기본 캐릭터 셋을 확인하자.

더보기

docker exec -it maria-db /bin/bash

를 입력하여 mariadb 컨테이너의 bash를 실행하자. 그 뒤 cnf 파일을 수정하기 위해서 에디터를 설치해주어야 하는데 다음의 명령을 입력하면 된다. 

더보기

root@어저구저저구:/# apt-get update

root@어저구저저구:/# apt-get install nano

root@어저구저저구:/# nano /etc/mysql/my.cnf

 

내가 어쩌구저쩌구라고 했다고 진짜 어쩌구저저구라고 생각하지 않았으면 좋겠다. 마리아디비의 컨테이너 아이디인데 미처 캡처를 하지 못하였다. 어쩃든 저 명령어들을 입력하여 설치한 뒤 마지막줄을 입력하면 my.cnf 파일이 열릴텐데 그럼

더보기

[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

파일의 제일 밑에 위와 같이 입력한 뒤 ctrl + s로 저장, 나간 뒤 도커에서 마리아디비를 재실행한다. 그런 다음 다시 마리아디비 실행시켜서 위에서 입력하였던 show variable~ 명령어를 입력하여 바뀐 캐릭터셋을 확인하면 된다.