Infra/Docker

[Docker] Docker-Compose로 MySQL 컨테이너 띄우자!!

Juwon2106 2022. 3. 16. 23:56
728x90

오늘 포스팅할 내용은 Docker-Compose로 MySQL 서비스 컨테이너를 가동시키는 방법입니다.

 

우선 yml파일을 수정할 vi Editor, VSCode, XCode 등 편집기 하나를 준비해야합니다.

 

아래 사이트에서 Docker Install 합니다.

https://hub.docker.com/editions/community/docker-ce-desktop-mac

 

최신 버전의 Docker는 Docker-Compose 추가 환경 설정도 준비되어있어 별도의 설치가 필요하지 않습니다.

(구 버전의 Docker는 별도로 Docker-Compose 설치 필요합니다. )

docker, docker-compose 버전 확인

 

다음은 서비스 컨테이너를 설치할 폴더를 생성합니다.

 

서비스 컨테이너 데이터를 저장할 폴더 지정

 

docker-compose.yml 파일과 빈 폴더를 생성합니다.

 

dir tree

( .d의 경우 확장자가 아닌 파일명입니다 )

 

저의 경우에는 VSCode로 진행하였습니다.

 

이제 준비한 편집기로 yml 파일을 작성합니다.

version: "3"

services:
  test_docker_compose:
    image: mysql:5.7 // 사용할 이미지, 이미지명:버전 (버전 기재하지 않는 경우 lastest)
    platform : linux/x86_64 // ( MacOS Monterey인 경우)
    volumes:
      - "./data:/var/lib/mysql:rw"
      - "./mysql:/var/lib/mysql" // 볼륨(컨테이너가 죽어도 데이터를 유지)
    restart: always // 컨테이너가 죽지 않고 계속
    pots:
      - "9988:3306" // "임의의 로컬 포트:도커가 가질 포트" 뒤의 포트는 3306 디폴트값을 추천합니다.
    environment: // 환경변수
      MYSQL_ROOT_PASSWORD: 1234
      MYSQL_DATABASE: test_docker_compose_mysql
      MYSQL_USER: root
      MYSQL_PASSWORD: 1234
      TZ : Asia/Seoul

 

해당 루트 폴더(.)에서 docker-compose up 명령어를 실행합니다.

 

기본 Docker-Compose 명령어들

docker-compose up -d // -d는 생략가능, -d를 기재하는 경우 터미널이 종료되어도 백그라운드에서 계속됩니다.
docker-compose ps // 실행중인 컨테이너 목록을 출력합니다.
docker-compose down // 실행중인 컨테이너 정지합니다.
docker-compose config -f // -f는 생략가능, 최종적으로 어떻게 설정이 적용되는지 확인할 수 있습니다.

 

설치한 Docker 프로그램으로 docker-compose로 서비스 중인 컨테이너를 확인할 수 있습니다.

 

 

이번 포스팅으로 아주 간단하게 서비스 컨테이너를 구동시킬 수 있었습니다.

728x90