Docker hub에서 Mariadb 이미지를 다운로드 받자
공식 홈페이지에서 도커를 다운로드하여서 설치하셨다면, 이제는 본격적으로 Mariadb를 설치하기 위해 Mariadb 이미지를 다운받아 보겠습니다. 사용자 환경에 따라 화면이 조금은 다를 수 있지만 도커는 CLI를 기반으로 동작하기 때문에 명령어를 입력할 수 있는 창을 이용해 진행과정을 살펴보도록 하겠습니다.
sudo yum -y update
sudo yum install yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce
sudo systemctl start docker --도커 시작
sudo systemctl enable docker --도커 자동 실행 설정
docker pull mariadb
docker run --name mariadb -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mariadb ma
docker exec -it mariadb /bin /bash
mysql -u root -p
비밀번호 입력
create user 'mingty'@'%' identified by 'mingty1234';
grant all privileges on mingty.* to 'mingty'@'%';
flush privileges;
아래는 참고!
Docker - Mariadb 이미지 다운로드 받기
docker pull mariadb
명령어를 입력해서 실행하시면 Docker hub에 있는 이미지를 사용자 컴퓨터에 다운받을 수 있습니다.
docker pull mariadb
Mariadb를 설치하자
Mariadb 이미지를 다운로드하였다면, 다운로드 한 이미지를 기준을 컨테이너를 만들 차례입니다. 도커에서 컨테이너를 만든다는 이야기는 프로그램을 설치한다는 것과 같은 의미입니다. 정리한다면 프로그램(이미지)을 다운받았으니, 이제 설치(컨테이너 만들기) 할 차례라는 이야기예요.
Docker - Mariadb 컨테이너를 만들고 실행하기
docker run \
--name mariadb \
-d \
-p 3306:3306 \
--restart=always \
-e MYSQL_ROOT_PASSWORD=root \
mariadb
or
docker run --name mariadb -d -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root mariadb
입력하는 명령문의 내용을 간략하게 설명하면 아래와 같습니다.
--name: 만들어서 사용할 컨테이너의 이름을 정의
-d: 컨테이너를 백그라운드에서 실행
-p: 호스트와 컨테이너 간의 포트를 연결 (host-port:container-port) // 호스트에서 3306 포트 연결 시 컨테이너 3306 포트로 포워딩
--restart=always: 도커가 실행되는 경우 항상 컨테이너를 실행
-e: 기타 환경설정(Enviorment)
MYSQL_ROOT_PASSWORD=root // mariadb의 root 사용자 초기 비밀번호를 설정
mariadb: 컨테이너를 만들 때 사용할 이미지 이름
docker run with mariadb
두 가지의 명령어만으로 도커로 Mariadb 이미지를 다운로드하고, Mariadb를 설치(컨테이너 만들기)했습니다. 위에서 진행한 과정만으로 Mariadb 설치 과정이 모두 끝났습니다. 정말 어렵지 않습니다. Mariadb를 다운받아 설치하는 것보다 한 단계의 과정이 더 있지만 도커를 이용해서 Mariadb를 설치하면 설치뿐만 아니라 업데이트, 삭제까지 명령어 한 번이면 됩니다. 그것도 흔적이 남지 않고 깔끔하게 말이죠.
Mariadb에 database를 추가하고 user를 설정해보자.
도커를 이용해서 Mariadb를 설치하는 과정은 다 끝났지만 몇 가지 설정을 해볼 까 합니다. database를 만들고 user를 추가해 권한을 부여하는 부분까지 말이죠.
Docker - Mariadb 컨테이너 접속하기
docker exec -it mariadb /bin/bash
만약 Mariadb 컨테이너를 만드실 때 컨테이너의 이름을 변경하셨다면 mariadb 대신 변경하신 컨테이너의 이름을 사용해주세요.
Mariadb - 루트 계정으로 데이터베이스 접속하기
mysql -u root -p
위의 명령어를 입력하고 엔터를 하면 Mariadb 컨테이너를 만들 때 사용한 패스워드를 입력하시면 됩니다. 예시로 드린 명령어에서는 "root"를 root의 초기 비밀번호로 설정하였습니다.
Mariadb - 데이터 베이스 만들기
create database [db_name];
ex) create database test;
Mariadb - 사용자 추가하기
create user 'user_name'@'XXX.XXX.XXX.XXX' identified by 'user_password';
ex) create user 'tester'@'%' identified by 'tester1234';
Mariadb - 사용자 권한 부여하기
grant all privileges on db_name.* to 'user_name'@'XXX.XXX.XXX.XXX';
flush privileges;
ex)
grant all privileges on test.* to 'tester'@'%';
flush privileges;
Mariadb의 버전에 혹은 사용자 개발 환경에 따라 달라지는 부분이 발생할 수 있지만 위의 과정을 진행하면 최종적으로 아래와 같이 진행됩니다.
Mariadb에 database 추가하고 user 설정하기
출처: https://7942yongdae.tistory.com/130 [프로그래머 YD]
'docker' 카테고리의 다른 글
[docker] node 설치 (0) | 2022.03.28 |
---|---|
[docker] 우분투 환경에서 노드 삭제 (0) | 2022.03.28 |
[centos7] docker 설치 (설치 오류 관련 내용 첨부) (0) | 2022.03.28 |
[docker] vi : command not found 오류 해결 (0) | 2022.03.27 |
[docker] Nginx 사용 (0) | 2022.03.27 |
댓글