Docker 를 통해 MariaDB 실행 및 DBeaver 접속하기

황유민 Yoomin Hwang·2025년 1월 7일

WEB

목록 보기
14/15
post-thumbnail

Docker

도커는 가장 대중적인 컨테이너 기술로 애플리케이션을 독립적이고 일관된 환경에서 실행할 수 있도록 도와준다.

도커는 컨테이너 격리 기술을 지원한다는 점에서 유사한 가상 머신(Virtual Machine, VM) 과 비교했을 때도 훨씬 가볍고 상태 불변적인 특징을 가진다.

뿐만 아니라 애플리케이션과 의존성을 하나의 이미지로 패키징하기 때문에 로컬 환경, 클라우드, 서버 등 다양한 플랫폼에서 동일하게 동작하여 이식성과 유연성을 가진다.

이외에도 도커 허브(Docker Hub)와 같은 레지스트리를 통해 이미지를 공유하고 재사용할 수 있어, 팀 간 협업을 촉진하며, 커뮤니티가 제공하는 다양한 이미지를 활용해 개발 시간을 단축할 수 있게 해준다.

컨테이너 오케스트레이션 도구인 쿠버네티스(Kubernetes)와의 통합을 통해 대규모 애플리케이션을 손쉽게 확장하고 관리할 수 있게 해준다.

이러한 특징들은 개발과 배포의 전 과정을 간소화해주며, 개발자들은 복잡한 환경 설정에 얽매이지 않고 코딩과 문제 해결에 집중할 수 있다.

이번 포스트에서는 도커를 통해 디비 (MariaDB) 를 실행 및 접근하는 방법에 대해 다뤄 보고자 한다.

Docker 를 통해 MariaDB 실행 및 DBeaver 접속하기

터미널

docker -v
docker 설치 확인

docker pull mariadb
mariadb 를 실행하기 위한 모든 설치 파일을 pull 받기

✅ 사실 이후 실행할 docker run 명령어가 사용할 이미지가 없으면 자동으로 pull 해주기 때문에 꼭 실행할 필요는 없다.

docker images
mariadb 이미지 생성된 것 확인 가능
여기서 도커 이미지(image)란, 의존성 파일을 컴파일하거나 이것저것 설치할 필요 없는 상태의 불변 파일이다.

docker ps -a
여기서 -a 는 실행 중이거나 그렇지 않은 모든 컨테이너 정보를 확인하는 옵션이다.

그냥 docker ps 만 입력하면 실행 중인 컨테이너 정보만 확인 가능하다.

docker run --name myfirstwebcamp -e MARIADB_ROOT_PASSWORD=1006 -p 3307:3306 -d mariadb:latest
mariadb 이미지에 대하여 컨테이너 생성

여기서 도커 컨테이너(container)란, 이미지를 실행한 상태를 말하며, 컨테이너 삭제 시 해당 컨테이너 내의 데이터는 디비 삭제하면 그 안의 데이터 모두 삭제되듯이 모두 삭제된다고 보면 된다.

위 명령어에 대한 자세한 설명은 아래와 같다.

  • -name myfirstwebcamp: 컨테이너 이름을 myfirstwebcamp로 설정한다는 의미
  • -e MARIADB_ROOT_PASSWORD=1006: 환경 변수로 MariaDB의 루트 비밀번호를 설정한다는 의미
  • -p <로컬 포트>:3306:
    • 로컬 호스트의 <로컬 포트>를 컨테이너 내부의 3306 포트에 매핑한다는 의미
    • 나는 3307 포트로 매핑했다.
    • 3306은 MariaDB가 기본적으로 사용하는 포트 번호이다.
    • <로컬 포트>에 원하는 숫자를 넣으면, 로컬에서 해당 포트를 통해 MariaDB 컨테이너에 접근할 수 있게 된다.
  • -d: 컨테이너를 백그라운드에서 실행한다는 옵션
  • mariadb:latest: 사용할 이미지 이름 및 가장 최신 버전 다운

docker start <컨테이너 ID 또는 이름>
컨테이너가 실행 중이지 않은 경우 위 명령어를 통해 실행

docker exec -it myfirstwebcamp mariadb -uroot -p

  • exec 실행 중인 컨테이너에 접속하거나 컨테이너 내부에서 명령어를 실행한다.
  • it 옵션으로 대화형 터미널로 접속 가능하게 만든다.
  • 위 명령어는 MariaDB CLI를 실행하여 데이터베이스에 접속하는 작업을 수행한다.
  • 실행 중인 myfirstwebcamp 컨테이너 내부에서 MariaDB에 접속한다.
  • 실행 후 MariaDB 루트 비밀번호를 입력하라는 메시지가 표시된다.

DB 생성

이렇게 하면 아마 다음과 같은 화면이 표시될 것이다.
마리아디비 대화형 터미널 접속 화면

이제 SQL 문으로 데이터베이스 생성해주면 된다.

create database <데이터베이스 이름>;
<데이터베이스 이름> 이라는 데이터베이스 생성

show databases;
데이터베이스 생성된 것 확인

exit
대화형 터미널 종료

docker stop <컨테이너 ID 또는 이름>

DBeaver 연결하기

새 데이터베이스 연결 버튼
위에 보이는 파란색 코드 그림에 + 기호 붙어있는 버튼 클릭하면

새 데이터베이스 연결 1
다음과 같은 화면이 나올 것이다.

여기서 MariaDB 선택해주고 다음 버튼 누르면

새 데이터베이스 연결 완료

다음과 같은 화면이 나올 것이다.

포트 부분에 아까 설정한 로컬 포트 번호를 써주고 데이터베이스 이름과 비밀번호까지 입력해주면 된다.

0개의 댓글