< DevOps >/Docker

#4. MariaDB Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈

Chipmunks 2022. 2. 8.
728x90

 

안녕하세요, 다람쥐입니다.

오늘 소개할 도커 이미지는 바로 MariaDB 입니다!

MariaDB(마리아DB)는 MySQL이 오라클로 넘어간 뒤 불확실한 라이선스 문제를 해결하려고 나온 오픈 소스 DBMS입니다.

오픈소스라는 장점과 MySQL과는 다른 내부 엔진을 사용하기에 서비스에 맞춰 MariaDB를 사용하기도 하는데요~

 

 

MariaDB 도커 이미지를 한 번 설치해봅시다!

 

1. 도커 프로그램 설치하기

아래 MySQL Docker 이미지를 설치할 때 소개드렸습니다. 아래 페이지를 참고해주시면 감사하겠습니다.
링크 : https://itchipmunk.tistory.com/450

 

#1. MySQL Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈

안녕하세요. 다람쥐입니다. 매 번 새 환경에서 MySQL 를 설치받는 것은 매우 귀찮은 일이었는데요~ 맥에서는 터미널로 이런저런 명령어를 쳐야하고, 윈도우에서도 설치 마법사로 설치하고 필요하

itchipmunk.tistory.com

 

2. MariaDB Docker 도커 이미지 설치하기

docker pull 명령어로 MariaDB 최신 버전의 이미지를 내려받을 수 있습니다.

또는 'MariaDB:latest' 으로 최신 버전을 직접 명시할 수 있습니다.

$ docker pull mariadb
Using default tag: latest
latest: Pulling from library/mariadb
08c01a0ec47e: Pull complete 
a2bcb14c13a1: Pull complete 
29c56760f879: Pull complete 
a95000a218fc: Pull complete 
a765d76e68d9: Pull complete 
c6945738f085: Pull complete 
62787b7c58c5: Pull complete 
d2987a30cfe4: Pull complete 
cbc65983d8b5: Pull complete 
db216f91595e: Pull complete 
Digest: sha256:ca31f38b6e325ece985d857db7eba1fe59928b4fd83ff8a55cb912c9684b9e43
Status: Downloaded newer image for mariadb:latest
docker.io/library/mariadb:latest

 

특정 버전의 MariaDB 도커 이미지는 MariaDB 도커 허브 페이지 Tags 메뉴에서 이미지 목록을 확인할 수 있습니다.

 

만약 애플 실리콘 M1 칩셋을 사용 중이라 명령어 실행할 때 오류가 난다면

로제타로 터미널을 실행시켜주시거나

'--platform linux/amd64' 옵션을 추가로 넣어 실행해줍니다.

 

3. 내려 받은 MariaDB Docker 도커 이미지 확인

docker images 명령어로 내려 받은 MariaDB Docker 도커 이미지를 확인할 수 있습니다.

$ docker images
REPOSITORY                                TAG              IMAGE ID       CREATED         SIZE
mariadb                                   latest           45a5a43e143a   5 days ago      410MB

 

또는 Docker for Desktop 프로그램에서 Images 탭에서도 확인할 수 있습니다.

 

4. 내려 받은 MariaDB 도커 이미지로 도커 컨테이너 생성

MariaDB 도커 이미지를 내려받았으면 바로 MariaDB 도커 컨테이너를 만들어 봅시다.

 

$ docker run --detach --name some-mariadb --env MARIADB_USER=example-user --env MARIADB_PASSWORD=my_cool_secret --env MARIADB_ROOT_PASSWORD=my-secret-pw  mariadb:latest

또는 아래처럼 네트워크를 생성하여 만들 수 있습니다.

$ docker network create some-network 
$ docker run --detach --network some-network --name some-mariadb --env MARIADB_USER=example-user --env MARIADB_PASSWORD=my_cool_secret --env MARIADB_ROOT_PASSWORD=my-secret-pw  mariadb:latest

 

MariaDB 도커 컨테이너 만들 시에 들어갈 환경 변수 목록 설명

  • --name : 컨테이너의 이름을 지정합니다.
  • --network : 컨테이너에 접근 가능한 네트워크를 지정합니다.
  • --env : 컨테이너에 환경 변수를 입력합니다. 
    • MARIADB_USER : MariaDB 계정 이름
    • MARIADB_PASSWORD : MARIADB_USER 계정의 패스워드
    • MARIADB_ROOT_PASSWORD : root 계정 패스워드

 

마찬가지로 만약 애플 실리콘 M1 칩셋을 사용 중이라 명령어 실행할 때 오류가 난다면

로제타로 터미널을 실행시켜주시거나

'--platform linux/amd64' 옵션을 추가로 넣어 실행해줍니다.

 

5. 실행된 MariaDB 도커 컨테이너 확인

docker ps 명령어로 MariaDB 컨테이너를 확인할 수 있습니다.

$ docker ps -a
CONTAINER ID   IMAGE                                 COMMAND                  CREATED          STATUS                     PORTS                    NAMES
906db4ead7c2   mariadb:latest                        "docker-entrypoint.s…"   10 seconds ago   Up 10 seconds              3306/tcp                 some-mariadb

 

 

6.  MariaDB 도커 컨테이너 시작 & 정지 & 재시작

아래 명령어로 MariaDB 도커 컨테이너를 시작하고 정지하고 재시작할 수 있습니다.

# MariaDB Docker 컨테이너 중지
$ docker stop some-mariadb

# MariaDB Docker 컨테이너 시작
$ docker start some-mariadb

# MariaDB Docker 컨테이너 재시작
$ docker restart some-mariadb

 

7. MariaDB 도커 컨테이너에 접속

아래 명령어로 MariaDB 도커 컨테이너에 접속할 수 있습니다.

# 네트워크 생성했을 시
$ docker run -it --network some-network --rm mariadb mysql -hsome-mariadb -uexample-user -p

# 네트워크 미 생성 시
$ docker run -it --rm mariadb mysql -h <server container IP> -u example-user -p

 

MariaDB 도커 컨테이너의 IP 주소를 아는 방법은 다음과 같습니다.

docker inspect 명령어로 MariaDB 도커 컨테이너의 설정을 받아야 IP 주소를 알 수 있습니다.

이전에 docker ps 명령어로 도커 컨테이너의 아이디, 제 환경에선 906db4ead7c2, 가 나왔습니다.

여러분의 환경에선 다른 아이디가 나올터니 꼭 docker ps 도커 명령어로  MariaDB 도커 컨테이너의 ID를 확인해주세요!

이후에 docker inspect 906db4ead7c2 으로 MariaDB 도커 컨테이너의 네트워크 설정 정보를 알 수 있습니다.

$ docker inspect 906db4ead7c2

...
"NetworkSettings": {
	...
    "IPAddress": "172.17.0.2",
    ...
}
...

NetworkSettings 에서 IPAddress 속성의 값을 보시면 172.17.0.2 라는 걸 확인할 수 있습니다.

MariaDB 도커 컨테이너의 IP 로 명령 실행 프롬프트 창에서 넣어보면 접속이 되는 걸 확인할 수 있습니다.

$ docker run -it --rm mariadb mysql -h 172.17.0.2 -u example-user -p              
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.6.5-MariaDB-1:10.6.5+maria~focal mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

 

참고로 파이프라인과 grep을 사용하면 IPAddress 텍스트와 대치되는 라인을 가져올 수 있습니다.

$ docker inspect 906db4ead7c2 | grep "IPAddress"
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.2",
                    "IPAddress": "172.17.0.2",

 

8. docker-compose.yml 에 MariaDB 에 추가

docker.compose.yml 파일에  MariaDB 도커 이미지를 담으려면 아래와 같습니다.

# Use root/example as user/password credentials
version: '3.9'

services:

  db:
    image: mariadb
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

MariaDB Admin 까지 셋팅하여 넣어줄 수 있습니다.

이후 docker-compose up -d 명령어와 docker-compose down 명령어로 두 도커 이미지를 한 번에 올리거나 한 번에 내릴 수 있습니다.

 

다른 시리즈 글 보러 가기

 

#3. PostgreSQL Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈

안녕하세요, 다람쥐입니다. 오늘 소개할 도커 이미지는 PostgreSQL 입니다. PostgreSQL(Postgres) 오라클과 더불어 대표적인 객체 관게 데이터베이스 중 하나입니다. 동시성을 잘 처리하고 다양한 자료형

itchipmunk.tistory.com

 

#2. Redis Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈

안녕하세요! 다람쥐입니다. 오늘 소개드릴 도커 이미지는 바로 'Redis' 입니다. 레디스(Redis)는 대표적인 인메모리 데이터베이스 중 하나이고 데이터베이스 기능 뿐 아니라 캐싱, 메시지 브로커로

itchipmunk.tistory.com

 

#1. MySQL Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈

안녕하세요. 다람쥐입니다. 매 번 새 환경에서 MySQL 를 설치받는 것은 매우 귀찮은 일이었는데요~ 맥에서는 터미널로 이런저런 명령어를 쳐야하고, 윈도우에서도 설치 마법사로 설치하고 필요하

itchipmunk.tistory.com

 

댓글