[DEV] 기록

[Docker] Mac OS MySQL 컨테이너 띄우는 절차

꾸준함. 2022. 1. 25. 17:17

개요

기존 게시글에서는 Window OS에서 Docker에 MySQL 컨테이너를 띄우는 절차를 정리했습니다.

https://jaimemin.tistory.com/2036

 

[Docker] Window에서 MySQL 컨테이너 올리는 절차

개요 스프링 배치를 학습하는데 MySQL 컨테이너를 도커를 통해 띄워야 했습니다. 저처럼 도커에 익숙하지 않을 경우 상당히 고생할 수 있으므로 방법을 간단히 정리해보겠습니다. 그리고 저는 Mac

jaimemin.tistory.com

사내 개발용 PC는 Macbook이므로 Mac OS에서도 MySQL 컨테이너를 띄우는 절차를 정리해보겠습니다.

 

MySQL 컨테이너 올리고 테이블 생성하는 절차

  • 도커 설치
  • 터미널 열고 도커 명령어 입력
    • Mac 터미널 열고
    • docker run --platform linux/amd64 -p 3306:3306 --name {컨테이너명} -e MYSQL_ROOT_PASSWORD={root 비밀번호} -e MYSQL_DATABASE={데이터베이스명} -e MYSQL_USER={아이디} -e MYSQL_PASSWORD={비밀번호} -d mysql 명령어 실행
  • 계정 생성 후 권한 부여
    • root 계정 외 별도 계정 필요할 경우 진행
    • maintainer 계정을 생성한다고 가정하고 진행
      • CREATE USER 'maintainer'@'%' IDENTIFIED BY '{비밀번호}'; 명령어를 통해 계정 생성
      • GRANT 명령어를 통해 maintainer에게 부여하고 싶은 권한 부여
      • root 계정이 아닌 maintainer 계정으로 접속하기 위해 아래의 명령어 실행
        • quit
        • mysql -u maintainer -p
  • DB 생성
    • CREATE DATABASE {데이터베이스명} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 명령어 실행
    • show databases; 명령어를 통해 생성된 것을 확인
    • 여러 개 생성 가능
      • 특정 DB 사용하기 위해 use 데이터베이스명; 명령어 실행
    • 원하는 데이터베이스에 테이블 생성하여 진행

 

docker-compose.yml 설정 및 실행 방법

  • docker run --platform linux/amd64 -p 3306:3306 --name {컨테이너명} -e MYSQL_ROOT_PASSWORD={root 비밀번호} -e MYSQL_DATABASE={데이터베이스명} -e MYSQL_USER={아이디} -e MYSQL_PASSWORD={비밀번호} -d mysql 
  • 팀원들 전부 동일한 개발환경을 구축한다면 아래와 같이 docker-compose.yml 파일을 구성하여 간단히 환경을 구축하고 명령어 실수를 방지할 수 있음
version: '3.7'
services:
    {서비스명}:
    	platform: linux/x86_64 # M1칩일 경우 platform 명시
        image: mysql:5.7
        restart: always
        container_name: {컨테이너명}
        ports:
           - "3306:3306"
        environment:
            - MYSQL_DATABASE: {데이터베이스명}
            - MYSQL_ROOT_PASSWORD: {비밀번호}
            - MYSQL_USER: {아이디}
            - MYSQL_PASSWORD: {비밀번호}
            - TZ=Asia/Seoul
        command:
            - --character-set-server=utf8mb4
            - --collation-server=utf8mb4_general_ci
        volumes:
            - ./data:/var/lib/mysql

 

  • 위와 같이 docker-compose.yml 파일을 설정 후 docker-compose up -d 명령어 실행하여 환경 구축 가능

 

참고

docker-compose.yml 참고: https://my-grope-log.tistory.com/23?category=915242

 

반응형