새소식

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/

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

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