[Docker] 로컬 PC에서 mariaDB container로 접속하기

     

    개발환경

    ubuntu 18.04

    Docker version 20.10.22

    redmine 5.0.4

    mariaDB 10.5

     


    1. 컨테이너 접속 및 mariaDB 접속 검증

     

    (* 이 과정은 컨테이너에서 DB 접속을 검증하고 싶어서 넣었으니 필요하지 않은 분은'2.docker-compose.yml 파일 수정 (포트포워딩) '으로 내려가면된다.)

     

    실행 중인 컨테이너 확인

    docker ps

    NAMES를 기익하면 된다.

    컨테이너 접속

    docker exec -it [NAMES] /bin/bash

    docker exec -it root_database_1 /bin/bash

     

    사용자 계정(redmine)으로 데이터베이스 접속하기

    mysql -u redmine -p

    비밀번호를 입력하면 다음과 같은 화면이 조회된다.

     

    만약, DB 접속 계정 정보가 궁금하다면?

    • docker-compose.yml파일을 열어서 DB_USER, DB_PASS의 값을 입력하면 된다.

    나의 경우 레드마인 서버가 사내망에 있고, 로컬 PC에서 접속하기 위해 HAProxy 설정을 했다.

    기존에 80 포트는 열어둔 상태라서 mariaDB 포트인 3306만을 추가로 열었다. 

     

    HAProxy 설정을 해두면 외부에서는 100.0.0.xxx:x3306으로 들어와도 실제로는 내부망에 위치한 192.xxx.xx.xxx:3306을 찾는다.

    2. docker-compose.yml 파일 수정 (포트포워딩) 

    docker-compose.yml 파일에서 아래와 같이 포트포워딩하였다.

    내부적으로는 docker 컨테이너로 실행되는 마리아 db를 찾아야 하기 때문에 host 포트가 3306이면, container의 3306 포트를 연결했다. 

     

    docker-compose.yml파일을 수정하기 위해 docker를 재기동했다.
    (docker-compose down -> 파일 수정 -> docker-compose up)

     

    3. DB 툴을 이용해서 DB 접속

    Server Host : Public IP (e.g. 100.0.0.xxx)

    Port :바인딩 포트(e.g. x3306)

    Database : redmine_production 

     

    다음과 같이 정상적으로 mariaDB 컨테이너로 접근이 된다.

     

    만약, mariaDB 컨테이너가 실행 중이지 않다면? 다음과 같은 에러가 발생한다. 

     

     


     

     

    이전 포스팅

     

    [Docker] Docker로 Redmine 구축하기(Ubuntu 18.04 / redmine 5.0.4 / mariaDB 10.5)

    개발환경 ubuntu 18.04 Docker version 20.10.22 redmine 5.0.4 mariaDB 10.5 1. docker 설치 docker 설치 공식 문서 참고 (linux - ubuntu) 2. redmine docker image 가져오기 (Installation에서 택 1) redmine docker image github 참고 (sameersbn

    seongeun-it.tistory.com

     

    Ref. 

     

    [Docker] Centos에서 MySQL을 도커 컨테이너로 실행하기

    이번 글에서는 Centos7에서 MySQL을 도커 컨테이너로 띄운 후에 접속하는 방법에 대해 알아보도록 하자. 해당 글에서 진행되는 과정들은 모두 GCP(Google Cloud Platform)에서 진행할 예정이다. 기본적으로

    dbjh.tistory.com

     

    728x90

    댓글