Docker Compose란?

Docker compose?

다수의 Container로 소프트웨어가 구성되는 경우 쉽게 관리하기 위해 사용하는 환경설정 파일이자 유틸리티(툴)
  • 환경설정 파일 이름 docker-compose.yml (or docker-compose.yaml)로 설정
  • -f 옵션을 줘서 파일의 이름 변경하여 다양한 버전으로 관리 가능
  • 볼륨, 네트워크 포트 세팅, 실행명령 등등 서비스 구성 내용들이 포함
  • 개별 Container말고 application내의 모든 Container에 적용 가능

 

docker compose 명령어

  • container 명령어와 비슷하지만 개별이 아닌 그룹에 적용된다

$ docker compose build

 

개별 컨테이너 명령어 docker run과 같음

$ docker compose up  # build → create → start

  • docker compose create
  • docker compose start

 

$ docker compose pull

$ docker compose ps

 

컨테이너 중지 및 삭제, 이미지는 따로 삭제 필요

$ docker compose down

  • docker compose stop
  • docker copose rm

 

$ docker compose start

$ docker compose stop

$ docker compose rm

 

$ docker compose --version

or docker-compose --version 예전 버전일 경우!

v1. docker-compose
v2. docker compose

docker-compose.yml  포맷

크게 세개의 키(services, volumes, networks)가 있음

  • services 
    • container들 기술
    • 여기서 지정한 이름이 호스트 이름
  • volumes
    • volume들 정의
    • 사용하지 않는 경우 일회성, persistence한 스토리지 없음
  • networks
    • container들간 네트워크 정의
    • 사용하지 않는 경우 기본 네트워크 사용
    • 네트워크 여러개로 두는 경우 사용 (back, front)

-f 옵션으로 이름을 바꿔서 버전 관리

docker compose -f docker compose.mac.yml up

mac에 해당하는 위치에 prod, dev, test 같이 사용하여 개발, 테스트, 프로덕션용인지 구분

 

참고

 

다중 컨테이너 앱 빌드(MySQL, Docker Compose)

MySQL 및 Docker Compose를 사용하여 다중 컨테이너 애플리케이션을 만들고 컨테이너를 사용하여 Visual Studio에서 프로젝트 크기를 조정합니다.

learn.microsoft.com