[Docker + Mysql 구성한 Database 원격 접근]
일을 다니면서 퇴근 후 인강들으면서 공부하다보니 DB를 자꾸 껐다 켰다 반복하고 드문드문 공부하다보니 깜빡하는 것들이 생겨놔서 집에 남는 맥북도 있어 도커로 별도 DB 컨테이너를 구성해서 휴대하고 다니는 맥북으로 공부할 때마다 상시 켜져 있는 DB에 원격 접근하도록 구성해봐야겠다는 생각이 들어서 하게 되었다.
1. Docker 설치
https://www.docker.com/products/docker-desktop/
3. Docker compose 설정파일로 Docker Container 생성
docker-compose.yml 설정
별도의 docker 디렉토리를 만들고 안에 docker-compose.yml 파일을 만들어서 활용하였다.
services:
db:
image: mysql:8.0 // 위에 있던 version과 image를 맞춰준다.
platform: linux/x86_64 // 리눅스 기반 도커 환경에서 실행
restart: always // 오류 발생시 재시작 여부 or 첫 부팅시 자동 실행 여부
ports:
- "3306:3306" // mySQL로의 인바운드 규칙
environment:
MYSQL_ROOT_PASSWORD: 1234 // MySQL 접속시 사용하게될 루트 PW
MYSQL_DATABASE: mysqldb // 생성할 DB 이름
MYSQL_USER: humbackdb // 굳이 적지 않아도되지만 자신의 아이디
MYSQL_PASSWORD: 1234 // 그리고 비밀번호
TZ: Asia/Seoul //TimeZone 설정 나중에 DB에 시간 관련 데이터를 입력할때를 대비해서 미리 입력해놓으면 좋다
volumes: // 볼륨설정 (외부나 특정 장소에 mount하는 명령어)
- ./db/mysql/data:/var/lib/mysql /
- ./db/mysql/config:/etc/mysql/conf.d
- ./db/mysql/init:/docker-entrypoint-initdb.d
도커 compose 명령어 실행
docker-compose -p mysqldb up -d
container 확인
4. 원격 접근
포트 확인 lsof
[lsof 명령어]
sudo lsof -PiTCP -sTCP:LISTEN
특정 포트 확인하기
sudo lsof -i :3000
포트 PID로 포트 닫기
sudo kill -9 PID
포트 확인 netstat
netstat -anv|grep LISTEN
포트 열어주기
22 : ssh
3306 : Mysql 포트
5. 이제 서버PC 포트 열어준 바탕으로 서버PC 외부주소IP로 접근
'Docker > 1. Docker' 카테고리의 다른 글
1. 도커(Docker)의 정의 및 아키텍처, 생명주기(작성중) (0) | 2024.05.30 |
---|