Knowledgebase

Docker Compose 소개

Docker Compose는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행할 수 있게 해주는 도구입니다. Docker Compose를 사용하면 YAML 파일로 애플리케이션의 서비스, 네트워크 및 볼륨을 구성하여 서로 연결되고 하나의 단위로 관리되는 여러 컨테이너를 실행할 수 있습니다.

Docker Compose는 2014년에 다중 컨테이너 Docker 애플리케이션 관리를 간소화하기 위해 도입되었습니다. 이후 Docker 생태계에서 널리 사용되는 도구가 되었으며, 컨테이너를 손쉽게 오케스트레이션할 수 있는 간단하고 효율적인 방법을 제공합니다.

Docker Compose 작동 방식

Docker Compose는 애플리케이션의 서비스, 네트워크 및 볼륨을 설명하는 YAML 파일을 읽어 작동합니다. 각 서비스는 컨테이너로 정의되며, YAML 파일은 컨테이너가 어떻게 구성되고 서로 어떻게 통신해야 하는지를 지정합니다.

Docker Compose를 실행하면 애플리케이션용 네트워크가 생성되고 YAML 파일에 정의된 컨테이너가 시작됩니다. 컨테이너는 YAML 파일에 정의된 순서대로 시작되며, 각 컨테이너는 자체 환경 변수, 설정 파일 및 기타 리소스를 갖고 시작됩니다.

컨테이너가 실행되면 Docker Compose는 컨테이너 시작·중지, 서비스 확장, 로그 확인 등 애플리케이션 관리를 위한 다양한 명령을 제공합니다.

Docker Compose 사용법

Docker Compose를 사용하려면 먼저 애플리케이션을 설명하는 YAML 파일을 만들어야 합니다. 아래는 간단한 Docker Compose YAML 파일 예시입니다:

version: '3'
services:
  web:
    image: nginx
    ports:
      - "8000:80"
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: example

위 예시에서는 두 개의 서비스, “web”과 “db”가 정의되어 있습니다. “web” 서비스는 nginx 이미지를 사용하고 포트 8000을 호스트에 노출합니다. “db” 서비스는 postgres 이미지를 사용하며 POSTGRES_PASSWORD 환경 변수를 설정합니다.

애플리케이션을 시작하려면 다음 명령을 실행하면 됩니다:

docker-compose up

이 명령은 YAML 파일을 읽어 파일에 정의된 컨테이너를 시작합니다. 이후 웹 브라우저에서 http://localhost:8000에 접속하면 웹 서비스를 이용할 수 있습니다.

결론

Docker Compose는 다중 컨테이너 Docker 애플리케이션을 관리하기 위한 강력한 도구입니다. Docker Compose를 사용하면 애플리케이션을 상호 연결된 컨테이너 집합으로 정의할 수 있어 관리와 확장이 쉬워집니다. 간단한 YAML 파일로 애플리케이션을 구성함으로써 Docker Compose는 복잡한 컨테이너 기반 애플리케이션을 손쉽게 생성, 실행 및 관리할 수 있게 해줍니다.