WinGyu_coder

Python, Django 장고로 모의투자 서비스 제작하기 (3) - Docker 로 Mysql DB 생성하기 본문

Django 백엔드의 모든것

Python, Django 장고로 모의투자 서비스 제작하기 (3) - Docker 로 Mysql DB 생성하기

WinGyu 2024. 2. 25. 16:52

이전 포스트 

Python, Django 장고로 모의투자 서비스 제작하기 (2) - 주식 종목 코드, 섹터 코드, 표준산업코드 가져오기

https://wingyu-story.tistory.com/131

 

Python, Django 장고로 모의투자 서비스 제작하기 (2) - 주식 종목 코드, 섹터 코드, 표준산업코드 가

https://github.com/decembaek/auto_stock_django 깃허브 주소 GitHub - decembaek/auto_stock_django Contribute to decembaek/auto_stock_django development by creating an account on GitHub. github.com https://wingyu-story.tistory.com/130 Python, Django 장

wingyu-story.tistory.com

 

깃허브 주소 :

https://github.com/decembaek/auto_stock_django

 

GitHub - decembaek/auto_stock_django

Contribute to decembaek/auto_stock_django development by creating an account on GitHub.

github.com


드디어 계획 후 데이터 파일을 수집해보았다. 이제 이 데이터를 효율적으로 저장할 DB 데이터베이스 서버를 구축해보자.

배포할때는 AWS를 통해 할 예정이지만 비용이 드니 Docker로 로컬에서 구축해보자.

 

우선 Docker Desktop을 설치해준다. Desktop 말고 CLI로 사용하시는 분은 그걸로 사용하시면 된다.

 

Docker 설치 주소이다.

https://www.docker.com/products/docker-desktop/

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

 

위 페이지에 접속을 하게 되면 아래와 같이 뜬다.

사이트에 들어가면 바로 메인화면에 Download for Mac이 뜬다 (필자는 Mac이다. Window는 Win버전을 설치하면 되고 리눅스는 OS에 맞게 설치하시면 된다.)

 

설치 과정은 어렵지 않고 그냥 설치하면 된다.

 

설치 후 실행하면 이와 같은 화면을 볼 수 있다.

현재 필자 화면엔 컨테이너가 2개 보일 것 이다.

한개는 redis 서버이고, 우리가 만들 컨테이너는 저 stock-mysql 이다.

 

Docker Desktop은 위 화면처럼 사용하는 CPU usage, Memory Usage을 알려준다 (CPU사용량, 메모리 사용량이다)

 

우리는 쉽고 빠르게 DB를 구축할거니 바로 mysql 이미지를 찾아줄거다.

(mysql 같은 경우 상업화 및 회사 단위로 사용 시 라이센스 

구매가 필요하다. 그게 불편하신 분은 MariaDB로 구축하시면 좋다. )

 

 

화면 맨 위에 있는 검색을 누른다.

자 그런다음. mysql 을 검색한다. (mariaDB면 mariaDB를 검색하면 된다)

 

바로 맨위에 나오는걸 볼 수 있다. Docker 로 사용하는 DB버전을 맞출 수 있는데 일단 최신 버전을 그냥 쓰자.

맨위를 Pull 버튼을 눌러 이미지를 설치해준다.

 

 

설치가 다 됬으면 Docker에 이미지 목록에 들어간다.

Images를 클릭하면 pull로 다운받은 이미지 목록이 뜬다.

필자는 3가지가 뜨는데 mysql을 쓸거다.

 

이미지가 정상적으로 pull 다운받은걸 확인했다면 Actions 에 실행 삼각형을 클릭한다.

 

 

저것을 클릭하면 모달창이 하나 뜰거다.

Optional settings를 열어주면 아래와 같이 설정값을 입력하는 칸이 있다.

 

맨위에 Container name 입력칸에는 컨테이너 이름을 정하는건데 마음대로 정해주면 된다. 필자는 stock-mysql로 만들었다.

 

Ports를 입력하는 부분이 있는데 3306으로 그대로 해도 되고 DB를 여러개 운영하시는 분은 포트 번호를 나누어 설정하면 좋다.

(Ex 13306)

 

맨 아래 Environment variables가 있는데 아주 중요하다. 뜻은 가상환경(컨테이너)에 값을 설정해 주는거다.

컨테이너를 실행하면 값이 정해져 나오는데 이 부분은 생성할때 설정하는게 좋다.

 

MYSQL_ROOT_PASSWORD라고 입력 후 Value 부분에 비밀번호를 적는다.

이 Value 부분에 작성한 내용이 DB 비밀번호가 된다. 까먹으면 사용을 못하니 메모해두자.

 

그리고 RUN버튼을 누르면 정상적으로 실행완료다.

정상적으로 실행되면 Running 상태가 되고, Actions 버튼이 사각형으로 변한다.

 

현재 필자는 Ports 설정을 할때 13306으로 하였다. (중요!!) 

 

DB 접속 정보는 (필자 기준)

HOST : 127.0.0.1

PORT : 13306  

USER : root

PASSWORD : 설정값에서 정한 비빌번호 입력

 

아래는 Ports 설정을 3306으로 했을때다

DB 접속 정보는 (독자 기준)

HOST : 127.0.0.1

PORT : 3306  

USER : root

PASSWORD : 설정값에서 정한 비빌번호 입력

 

접속이 잘 된다면 DB구축은 일단 완료한거다. 

 

접속을 GUI로 보고 싶다면 디비버(DBeaver) 또는 Mysql workbench 를 설치해서 접속하면 된다.

 

다음은 DB에 우리의 엑셀 파일에 있던 데이터를 넣어보자 

 

---------------------------------------------

모의투자 웹 프론트 개발자를 구합니다.. 

사이트 프로젝트, 포트폴리오로가 필요하신분이면 연락주세요.

기술은 React, Vue, vanila JS, JQuery 다 상관 없습니다.

 

연락은 아래 이메일 또는 댓글로 주시면 됩니다. 감사합니다

email : tmdrbpp123@gmail.com