안녕하세요, 다람쥐입니다.
오늘 소개할 도커 이미지는 바로 MariaDB 입니다!
MariaDB(마리아DB)는 MySQL이 오라클로 넘어간 뒤 불확실한 라이선스 문제를 해결하려고 나온 오픈 소스 DBMS입니다.
오픈소스라는 장점과 MySQL과는 다른 내부 엔진을 사용하기에 서비스에 맞춰 MariaDB를 사용하기도 하는데요~
MariaDB 도커 이미지를 한 번 설치해봅시다!
1. 도커 프로그램 설치하기
아래 MySQL Docker 이미지를 설치할 때 소개드렸습니다. 아래 페이지를 참고해주시면 감사하겠습니다.
링크 : https://itchipmunk.tistory.com/450
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 명령어로 두 도커 이미지를 한 번에 올리거나 한 번에 내릴 수 있습니다.
다른 시리즈 글 보러 가기
'< DevOps > > Docker' 카테고리의 다른 글
#5. MongoDB Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈 (1) | 2022.02.15 |
---|---|
#3. PostgreSQL Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈 (0) | 2022.02.04 |
#2. Redis Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈 (1) | 2022.01.25 |
#1. MySQL Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈 (0) | 2022.01.18 |
댓글