도커를 이용하여 MySql 환경을 구성 하는 방법을 정리해봅니다. 도커에 대해서 기본지식이 있는 상태에서 테스트가 가능합니다.
도커 설치 방법에 대해서는 아래 포스팅을 참고 하시기 바랍니다.


도커에 MySql 이미지 설치 하기

  • MySql 이미지 다운로드(https://hub.docker.com/_/mysql/?tab=tags&page=1&ordering=last_updated)

$ Docker pull mysql:8.0.25

  • MySql 이미지 확인

$ Docker images

docker images

  • Docker MySql 컨테이너 생성 및 실행

    • Docker 에 DB 를 설치 하는 경우 컨테이너 삭제시 내부에 저장된 데이터도 삭제 되므로 저장소는 외부 서버 디렉토리를 마운트 해서 사용 해야 합니다.

$ docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password –name docker-mysql -v /Users/Docker/datadir:/var/lib/mysql mysql:8.0.17

  • 도커 실행 할때 docker-compose 파일 활용 하는 방법
    • 도커를 실행 할 경우에는 위 처럼 명령어를 통해서 실행 할 수 있지만 매번 입력 하는 경우 잊어버리기 쉽습니다. docker-compose.yml 파일을 생성 하는 경우 파일 내용을 통해서 어떠한 설정으로 동작 하는지 유지 할 수 있기 때문에 추천 하는 방법입니다.

    • docker-compose.yml 작성방법

  version: "3.9"                # optional since v1.27.0
  services:
    db:                         # 서비스 명
       image: mysql:8.0.25         # 사용할 이미지
       container_name: docker-mysql # 컨테이너 이름 설정
    ports:
       - "3306:3306"               # 접근 포트 설정 (컨테이너 외부:컨테이너 내부)
    environment:                # -e 옵션
       MYSQL_ROOT_PASSWORD: password  # MYSQL 패스워드 설정 옵션
    command:                    # 명령어 실행
       - --character-set-server=utf8mb4
       - --collation-server=utf8mb4_unicode_ci
    volumes:
       - /Users/Docker/datadir:/var/lib/mysql # -v 옵션 (다렉토리 마운트 설정)
  • Docker Compose 실행

docker-compose.yml 파일 작성이 완료 되었으면 해당 파일이 있는 경로에서 아래 명령어를 통해 실행 할 수 있습니다.

docker-compose up -d

도커 실행 확인 하는 방법

docker ps

docker ps images

  • mySql 접속 하는 방법

도커 컨테이너가 정상적으로 기동이 되었을 경우 컨테이너 아이디를 통하여 mySql 에 접속 할 수 있습니다.

컨테이너 아이디는 docker ps 로 확인 가능 합니다. (위 스샷 참조)

예) docker exec -it {CONTAINER ID} /bin/bash
실사용) docker exec -it ae72dec1524a /bin/bash

컨테이너에 접속이 되면 mySql 명령어를 통하여 DB에 접속 합니다.

mysql -u root -p

docker mysql conn images