Synology Docker(Container Manager)에 MariaDB를 설치해본다.
컨테이너끼리 통신이 되기 때문에 DB 컨테이너 하나만 있어도 여러개의 도커 컨테이너가 DB를 이용할 수 있다.
DB 컨테이너는 하나만 설치하고, 워드프레스, 미디어위키, 개인 웹서버 등을 개별 컨테이너로 설치하여 이용할 수 있다.
1.1 DSM 방식으로 설치하기
1. mariadb 이미지 내려받기
mariadb 검색 후 나타나는 항목을 더블클릭한다.
latest 선택
2. 이미지 설치
내려받은 mariadb:버전명 더블클릭
3. 컨테이너 생성
MARIADB_ROOT_PASSWORD 항목을 추가해야 함.
위 항목이 없으면 암호 또는 암호 없음을 설정하라는 에러 로그가 생기며 컨테이너가 종료됨.
포트 설정은 기본 3306을 적용.
일부 클라이언트는 DB 포트 설정이 없어서 기본값인 3306 포트를 권장
폴더 추가하기로 /docker 아래에 위와 같은 폴더를 추가하고 마운트 경로를 입력.
1.2 콘솔 방식으로 설치하기
재설치를 하다보면 DSM 방식이 불편하다는 것을 느끼게 되어, 콘솔 명령이나 Portainer로 설치하게 됨.
$ sudo docker run --detach --network bridge --name mariadb --env MARIADB_ROOT_PASSWORD=rootpass mariadb:latest
root 권한 때문에 sudo 명령으로 시작.
- --name 은 컨테이너 이름 설정.
- --network 는 어느 네트워크에 붙일지 설정.
- --env 는 환경설정.
- 마지막 mariadb:latest는 설치할 docker 이미지와 버전.
⬇️ 네트워크를 추가하려면
$ sudo docker network create some-network
--env 환경설정 항목
- MARIADB_USER 사용자 계정 설정
- MARIADB_PASSWORD 사용자 암호 설정
- MARIADB_ROOT_PASSWORD 루트 암호 설정
나머지 추가 설정은 Portainer 또는 DSM Docker에서 하면 된다.
2. 콘솔 접속
$ mysql -h localhost -P 3306 --protocol=TCP -u root -p
-h 는 호스트 주소를 입력. localhost 또는 127.0.0.1 또는 172.17.0.1(브릿지 IP)
-P 설정한 포트 번호를 입력. 로컬 주소로 접속할 경우 로컬 포트 입력.
--protocol=TCP 필수 입력. 없으면 접속 안 됨.
-u 계정 이름을 입력
-p 계정 암호를 사용하면 필수 입력. 없으면 오류 발생.
실행하면 Enter password: 줄이 나타나고 계정 암호를 입력한다.