도커

도커 컴포즈 파일로 컨테이너 관리하기

하이자바 2025. 4. 15. 21:16

협업을 진행하면서 로컬 환경의 DB에서 작업할 때 개인마다 DB를 만들어서 작업을 해야한다.

이 과정을 도커 컴포즈 파일로 작성해두면 팀원들이 쉽게 DB를 만들 수 있다.

이 파일은 프로젝트 빌드 시 자동 실행 된다. 

현재는 DB만 정의하였지만 여러 방면으로 사용할 수 있다.

 

1. Compose.yaml 파일 생성

version: '3.8'
services:
  news_feed-mysql:
    image: mysql:8.0.35

    platform: linux/amd64
    volumes:
      - news_feed_mysql_volume:/data
    ports:
      - '3306:3306'
    environment:
      MYSQL_ROOT_PASSWORD: qwer1234
      MYSQL_DATABASE: news_feed
    command:
      [ 'mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci', '--lower_case_table_names=1' ]

volumes:
  # Named Volume 컨테이너 내부 파일 시스템과 마운트 될 볼륨 위치를 알아서 잡아줌
  news_feed_mysql_volume:

 

다음과 같이 속성을 지정하여 파일 생성 후 프로젝트 빌드 시 도커에 자동으로 컨테이너가 생성되는 것을 확인할 수 있다.

만약 컨테이너가 생성되지 않는다면 docker pull을 통해 필요한 이미지를 먼저 풀 받고 실행하면 문제없이 작동할 것이다.

 

추가적으로 볼륨을 통해 도커 내 저장 공간을 생성하고 해당 저장 공간은 컨테이너가 없어져도 계속 남게 된다. 

volumes:
  # Named Volume 컨테이너 내부 파일 시스템과 마운트 될 볼륨 위치를 알아서 잡아줌
  news_feed_mysql_volume:

 

스크립트를 통해 초기 테이블 생성, 유저 생성 등 더 편리하게 작성이 가능하다.

참고

https://hub.docker.com/_/mysql

'도커' 카테고리의 다른 글

CI/CD란?  (1) 2025.05.07
Docker mysql에 외부 데이터 추가하기  (0) 2024.07.04
Mac Docker Ubuntu SSH 서버 연결하기  (0) 2024.03.27
Mac Docker 다운로드 및 Ubuntu 설치  (0) 2024.03.27