Docker로 MySQL 실행하기
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=1234 -d -p 3306:3306 mysql:latest
- --name : 컨테이너 이름 설정
- -e : 환경변수를 설정
- -e MYSQL_ROOT_PASSWORD= : MySQL의 root 권한의 패스워드 설정
- -d : detach 모드로 컨테이너가 실행됩니다. 컨테이너가 백그라운드로 실행된다고 보면 됩니다.
- -p <호스트 포트> <컨테이너 포트> : 호스트와 컨테이너의 포트를 연결합니다.
- mysql:latest : 컨테이너에 사용할 이미지 버전을 설정합니다.
Docker Compose
프로젝트 루트에 docker-compose.yaml을 생성 후, 아래와 같이 작성
version: '3.8' # 파일 포맷 버전 지정
services:
mysql:
image: mysql:latest # MySQL 최신 버전 사용 혹은 8.0(안정적인 버전) 사용
container_name: opensea-mysql # 컨테이너 이름 지정
environment:
MYSQL_ROOT_PASSWORD: 1234 # 루트 비밀번호 설정
MYSQL_DATABASE: opensea # 기본 데이터베이스 생성
ports:
- '3305:3306' # 호스트의 3305 포트를 컨테이너의 3306 포트에 매핑
volumes:
- mysql-data:/var/lib/mysql # 데이터 영속성을 위한 볼륨 마운트
volumes:
mysql-data: # 데이터를 스토리지에 저장하는데, 그 스토리지 공간을 제공합니다.
위와 같이 작성하면 아래와 같은 연결정보가 설정됩니다.
호스트: localhost
포트: 3305
데이터베이스: opensea
사용자: root
비밀번호: 1234
CLI
실행
docker-compose up -d
중지
docker-compose down
데이터까지 완전 삭제
docker-compose down -v
