1. 환경변수 파일 생성
- 파일명 : env.mysql
MYSQL_DATABASE=mysql8
MYSQL_ROOT_PASSWORD=root
MYSQL_USER=testuser
MYSQL_PASSWORD=userpassword
2. mysql compose 파일(docker-compose.yml) 생성
version: '3.9'
services:
mysql_db: ## Service Name
container_name: kjc-mysql-8 ## Container Name
image: mysql:8.0
env_file:
- ./env.mysql
ports:
- 3306:3306
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --default-authentication-plugin=mysql_native_password
volumes:
#- ./mysql:/tmp/mysql-init.sql ### root 비밀번호 분실 시 주석 풀고 사용
- "${PWD}/mysql/data:/lib/mysql" ### {PWD}/mysql/data 경로 디렉토리를 lib/mysql로 마운팅
- "${PWD}/mysql/log:/log/mysql"
- "${PWD}/mysql/conf/my.cnf:/conf/my.cnf"
- "${PWD}/mysql/tmp/mysql-init.sql:/tmp/mysql-init.sql"
3. mysql 이미지 가져오기
docker pull mysql:8
4. docker-compose 실행
# [YOUR_SERVICE_NAME]
docker-compose up --build --force-recreate mysql_db
백그라운드 실행 : docker-compose up -d --build --force-recreate mysql_db
5. mysql 이미지 확인
docker image ls
6. 컨테이너 상태 확인
docker-compose ps
7. mysql 컨테이너 접속
- docker-compose exec mysql_db /bin/bash
- docker exec -i -t kjc-mysql-8 bash
8. mysql Database 접속
1. mysql -u testuser -p --host 127.0.0.1
2. 패스워드 입력
9. container 데몬모드로 실행
docker run --name=kjc-mysql-8 mysql/mysql-server:latest
10. container 데몬 로그 실행
docker run -d --name=kjc-mysql-8 mysql/mysql-server:latest
11. mysql root password 가져오기
docker logs kjc-mysql-8 2>&1 | grep GENERATED
'DOCKER' 카테고리의 다른 글
docker - root 계정접속 실패 (0) | 2022.12.16 |
---|---|
docker 설치 (ubuntu 20.04 LTS) (0) | 2022.12.15 |
docker 설치 (0) | 2022.12.12 |