여러 개의 도커 컨테이너를 정의하고 공유하는 도구
도커의 명령어 입력 과정을 파일로 만들어 좀더 편하게 명령어 입력을 도와주는 도구
yaml파일로 만들어져 한번에 설정과 명령어, 환경변수등을 입력 할 수 있다.
예제
# docker-compose Syntax
services: # 실행할 컨테이너 정의
db:
image: mysql # 컨테이너에 사용할 이미지
volumes: # 로컬에 매치할
- ./exdir/data:/containerDIR/data # {호스트 경로} : {컨테이너 경로}
ports: # 컨테이너와 연결할 포트 -
"8080:80" # {호스트 포트} : {컨테이너 포트}
restart: always # 컨테이너가 명령어가 아닌 경우로 종료될때 재시작 여부
environment: # 환경 변수 설정.
MYSQL_ROOT_PASSWORD: my-secret-pw
django:
build:
context: .
dockerfile: ./compose/django/Dockerfile-dev
volumes:
- ./:/app/
environment:
- DJANGO_DB_HOST=db
depends_on:
- db
restart: always
ports:
- 8000:8000
command: ["./manage.py", "runserver", "0:8000"]