[Docker] 도커로 데이터 베이스 편하게 사용하자~

KrongDev·2023년 9월 17일
0

docker

목록 보기
1/3
post-thumbnail

목차

  1. 이유
  2. 사용방법
  3. 후기

이유

local에서 개발하고 테스트 하다보면
여러개의 데이터 베이스를 생성 혹은 처음 프로젝트를 시작할 때 좀 깔끔한 상태로 시작하고 싶다는 생각을 할 수 있다.

개인적으로 이런 생각을 가지게 된 데에는 포트 충돌이 가장 큰 원인이였다.

예를 들어 Mysql을 사용하다 MariaDB를 사용하게 되어 설치를 하려하는데 포트가 충돌 되는 현상이 발생하였다.

무슨일일까?

Mysql을 설치할 당시 기본 포트로 3306번을 할당해 주게 되는데 MariaDB또한 3306포트를 기본으로 할당해주어 포트 충돌이 생긴 것이다.

물론 새로 설치하는 MariaDB를 3307로 바꿔 설치하면 되지만,
필자 처럼 특정 이유 없이 여러 포트에 생기는 것을 별로 안좋아하는 사람들도 있을 수 있다.

그래서 그때 부터 고민을 하게 되었는데

어차피 여러 서비스를 image로 만들어 container에 띄우게 되면 container만 갈아 치우는 느낌으로 하나의 포트만 두고 사용할 때만 꺼내 쓸 수 있는 데이터 베이스가 되지 않을 까 였다.

해서 이번 글에서는 위의 해결 방법에 대해 다루려 한다.

사용방법

우선 Docker를 설치해야하는데 이는 다음 글을 참고 하기 바란다.

Docker 설치하는 방법

Docker를 설치하였으면

이제 본인이 사용할 Image를 다운 받으면 된다.

1. 본인이 사용할 image를 검색한다.

우리가 데이터 베이스 이미지를 사용하기 위해선 docker hub에서 지원해주는 image를 다운받아 사용해야하는데 그 첫번째로 사용할 image를 검색하는 것이다.

docker search ${검색할 이미지 명}
ex) docker search mysql

2. 검색한 image를 다운받는다.

docker pull ${다운받을 이미지 명}
ex) docker pull mysql

3. image를 container로 실행시킨다.

--name: 실행시킬 container의 이름을 지정
-- MYSQL_ROOT_PASSWORD : container를 실행할 때 mysql의 root계정의 비밀번호를 지정
-- 3306:3306 mysql을 port 3306으로 설정 하여 실행

docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=<password> -d -p 3306:3306 mysql:latest

4. Docker container 시작/중지/정지

# Docker 컨테이너 중지
$ docker stop ${container명}
# Docker 컨테이너 시작
$ docker start ${container명}
# Docker 컨테이너 재시작
$ docker restart ${container명}

4. 실행중인 Docker container 접속

docker exec -it ${container명} bash

5. Mysql 접속

  mysql -u ${mysql계정아이디} -p ${mysql비밀번호}

위 과정을 거치면 정상적으로 사용할 수 있다.

후기

업무상 본인 노트북을 가지고 다니며 업무용, 공부용, 프로젝트용으로 한번에 사용하다 보니 여러 데이터 베이스를 사용하는 경우가 많이 생기게 된다.

이때 헷깔리지 않고 잘 관리를 하기 위해 고민하였고 사용하고 있는데 확실히 편하다.

개인적으로 여러개를 동시에 실행시키면 노트북이 버벅 거릴 수도 있는데 솔찍히 말하면 컴퓨터 성능이 좋아 아직 그정도의 불편함은 느끼지 못하였고,
솔찍히 편하고 좋다.

한줄평

굉장히 편한거 같고 사용하는 데이터 베이스에 맞춰 컨테이너만 갈아 끼워주면 되서 좋다!!

profile
늦게 정신 차린만큼 제대로 된 개발자를 위해 달립니다 크앙

0개의 댓글