DOCKER

docker - mysql8 설치

라구엘 2022. 12. 15. 23:26

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