728x90
Docker Mysql 사용하기
사용되는 Docker 기술
- Image/GCR(Google Container Registry)
- Docker Repository에 있는 Mysql Pull 및 이미지화
- 이미지 이름 변경
- Container/Volume/Mount
- Pull 받은 Mysql을 Container를 실행
- Volume를 설정하여 Docker가 종료되도 데이터 삭제 방지
- Mount하여 호스트 컴퓨터(사용자 컴퓨터) Docker 서버에 맵핑 시킨다.
실행 방법
Docker Pull GCR
docker pull mysql
Image 이름 변경
docker tag mysql new-mysql
Container 실행
기본 실행
docker run -e MYSQL_ROOT_PASSWORD=root mysql
설명
- -e : 환경 변수 설정으로 기본 비밀번호를 위해 추가
문제점
- 포트포워딩을 하지 않아 사용자 컴퓨터에서 Mysql 사용하고 있다면 접근 할수가 없다.
- 이 부분은 어떻게 접근하는지 Mysql 삭제 등 여러 테스트가 필요 할거 같다.
포트포워딩 추가
docker run -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql
설명
- -p
- 추가 하여 포트포워딩을 설정했다.
- 3307로 접근하면 콘테이너 안의 3306으로 접근이 된다.
- 콘테이너는 별도의 가상 서버 이므로 사용자 사용포트와 도커의 포트는 별개로 생각하면된다.
- -p
콘테이너 실행 이름 변경
docker run --name mysql-container -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql
설명
- --name
- 콘테이너 이름을 설정하였고 미 설정시 랜덤으로 아무 이름으로 변경된다.
- --name
백그라운드 실행
docker run -d --name mysql-container -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql
설명
- -d
- 데몬 실행 명령어
- -d
볼륨 설정(실행시 DB 자동 셋팅)
docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=root -v /사용자 파일 패스/contents.sql:/docker-entrypoint-initdb.d/setup.sql mysql
설명
- -v
- 미 적용시 Mysql에서 가상 주소로 자동 볼륨 설정이 되며 이는 운영체제에 따라 경로가 달라진다.
- 맥북 같은 경우 가상 머신의 Path로 사용자 path로 직접 입력하지 않은 이상 접근 할수 없는 걸로 알고잇다.
- (사용자 패스:도커 내부 패스)
- /docker-entrypoint-initdb.d/setup.sql : 이 경로로 SQL 파일을 입력하면 SQL문이 자동 실행된다.
- 추가 설정
-v /사용자 컴퓨터 Path:/var/lib/mysql
- 추가시 DB 데이터가 사용자 컴퓨터에 저장이 된다.
- -v
728x90
'ETC > Docker' 카테고리의 다른 글
Docker Network 기본 사용법 과 Tip (0) | 2023.08.09 |
---|---|
Docker Network (0) | 2023.08.09 |
내가 이해한 Volume이란? (0) | 2023.08.03 |
Docker Swarm과 Kubernetes(K8s) 비교 (0) | 2023.07.26 |
Docker 기본 명령어 (0) | 2023.07.26 |