도커 컴포즈 소개

도커 컴포즈는 여러 컨테이너들의 상태를 관리하는 도구입니다. 일반적으로 도커에서 관리하는 컨테이너 상태는 다음과 같습니다.

  • created, restarting, running, removing, paused, exited, dead

이중 도커 컴포즈가 관리하는 상태는 다음과 같습니다. 도커 컴포즈는 도커 데스크탑 for MAC 설치시 이미 포함되어 있어 별도 설치를 하지 않아도 됩니다.

도커 컴포즈 실행

도커 컴포즈는 여러 컨테이너의 실행을 docker-compose.yml 파일을 docker-compose up 명령어로 실행할 수 있게 합니다.

docker-compose 파일에 서비스 정의

docker-compose.yml서비스를 정의하는 파일입니다. 도커 컴포즈에 정의한 서비스webredis입니다.

version: '3'
services:
  web:
    build: .
    ports:
      - "5000:5000"
  redis:
    image: "redis:alpine"

위에서 정의한 web 서비스는 현재 디렉터리에 존재하느 Docker file에 설정된 이미지를 사용합니다. Flask 웹 서버의 기본 포트 5000 포트를 5000 포트로 out bound 했습니다. redis 서비스는 Docker Hub registry로 부터 Redis 이미지를 가져와 사용합니다.