새소식

DataBase/MySQL

[MySQL] Docker-compose를 이용한 초간단 서버 구성

  • -

개요

Docker-Compose로 간단하게 MySQL 테스트 환경을 구성해보도록 하겠습니다. 사전에 Docker 및 Docker-Compose에 대한 이해가 필요합니다.

 

테스트 환경

  • Centos7
  • Docker 20.10.14
  • Docker-compose 1.29.2

 

구성

docker 구성을 위한 디렉토리를 생성합니다.

$ mkdir mysql_test
$ cd mysql_test

 

컨테이너 내의 파일을 동기화할 디렉토리를 mysql_test 하위에만들어 줍니다.

$ mkdir db

-- my.cnf 파일 관리를 위한 디렉토리
$ mkdir db/conf.d

-- mysql Data를 저장할 디렉토리
$ mkdir db/data

 

docker-compose.yml

mysql_test 디렉토리 하위에 docker-compose.yml 파일을 생성해줍니다.

version: "3"

services:
  master-server:
    image: mysql:8.0.23
    container_name: mysql-master
    restart: always
    ports:
      - 10005:3306
    volumes:
      - ./db/conf.d:/etc/mysql/conf.d
      - ./db/data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=1234
      - TZ=Asia/Seoul
  • ports : 기본값은 3306이며 해당 테스트에서는 10005 번 포트를 사용하겠습니다
  • volumes
    • ./db/conf.d:/etc/mysql/conf.d : my.cnf 파일을 컨테이너에 마운트
      my.cnf 파일 구성이 필요할 경우 db/conf.d 디렉토리 하위에 생성하면됩니다.
    • ./db/data:/var/lib/mysql : 컨테이너 내 데이터 파일을 로컬로 동기화
  • environment
    • MYSQL_ROOT_PASSWORD : root 패스워드 지정
    • TZ : Time Zone 설정

 

 

Docker 컨테이너 실행

$ docker-compose up -d

 

MySQL 서버 접속

$ docker exec -it mysql-test bash

 

이후 root 로 로그인합니다.

$ mysql -u root -p

 

 

참고

https://int-i.github.io/sql/2020-12-31/mysql-docker-compose/

https://www.notion.so/MySQL-e22849deed064491bd0a805d9ba4ba5a#b9740a025ab74bd6b7dd70645fe81d25

https://docs.docker.com/compose/compose-file/compose-file-v3/

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.