[Docker] 도커 컴포즈 (docker-compose)

김포크레인·2022년 8월 8일
0

Docker

목록 보기
2/2
post-thumbnail

docker-compose 란

  • 멀티 컨테이너 도커 어플리케이션을 정의하고 실행하기 위한 툴
  • YAML 파일로 어플리케이션 서비스들을 구성할 수 있다.
  • 한 번의 명령어로 설정파일에 있는 모든 서비스들을 생성하고 시작할 수 있다.

자세한 건 공식문서를 보자

docker-compose file

아래의 예제는 공식문서에 있는 것을 가져옴

version: "3.9"  # optional since v1.27.0
services:
  web:
    build: .
    ports:
      - "8000:5000"
    volumes:
      - .:/code
      - logvolume01:/var/log
    links:
      - redis
  redis:
    image: redis
volumes:
  logvolume01: {} 
  • 실행할 서비스는 web과 redis
  • web 서비스는 현재 경로에 있는 dockerfile을 빌드하여 컨테이너를 만들고, port mapping 은 host 8000, container 5000 으로 한다. 볼륨을 마운트 하는데, host의 현재 디렉토리와 컨테이너 내부의 /code 디렉토리를 mount 하고, logvolume01과 컨테이너의 /var/log 디렉토리를 mount한다.
  • redis 서비스는 redis image로 부터 실행한다.

docker-compose 실행하기

기본 실행하기

# docker-compose.yml 이 있는 폴더에서 실행하기
docker-compose up -d

특정 yml 파일로 실행하기

docker-compose -f [파일명] up -d
docker-compose -f docker-compose_test.yml up -d

끄기

# docker-compose.yml 이 있는 폴더에서 실행하기
docker-compose down
profile
프로그래머

0개의 댓글