[파이썬] 도커 컴포즈를 사용한 멀티 컨테이너 애플리케이션 배포

도커는 애플리케이션을 컨테이너화하여 쉽게 배포하고 실행할 수 있는 도구입니다. 이때 여러 개의 컨테이너로 구성된 애플리케이션을 배포해야 할 때는 도커 컴포즈를 사용하면 편리합니다. 도커 컴포즈는 YAML 파일을 사용하여 컨테이너들의 설정과 관계를 정의할 수 있습니다.

도커 컴포즈 설치

도커 컴포즈를 사용하기 위해서는 먼저 도커 컴포즈를 설치해야 합니다. 다음은 Linux에서 도커 컴포즈를 설치하는 방법입니다.

$ sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

도커 컴포즈 YAML 파일 작성

도커 컴포즈는 YAML 파일을 사용하여 컨테이너들의 설정과 관계를 정의합니다. 예를 들어, 웹 애플리케이션과 데이터베이스를 함께 실행해야 한다고 가정해 봅시다. 다음은 도커 컴포즈 YAML 파일의 예입니다.

version: '3'
services:
  web:
    build: .
    ports:
      - "80:80"
    depends_on:
      - db
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: mysecretpassword

위의 예에서는 web 서비스와 db 서비스라는 두 개의 컨테이너를 정의합니다. web 컨테이너는 현재 디렉토리에서 Dockerfile을 사용하여 빌드하며, 호스트의 80번 포트와 컨테이너의 80번 포트를 연결합니다. db 컨테이너는 Postgres 이미지를 사용하여 데이터베이스 서비스를 제공하고, 환경 변수를 설정하여 암호를 설정합니다.

도커 컴포즈로 애플리케이션 실행

도커 컴포즈를 사용하여 애플리케이션을 실행할 수 있습니다. 다음 명령을 사용하면 됩니다.

$ docker-compose up

위의 명령을 실행하면 도커 컴포즈는 YAML 파일을 읽어서 컨테이너들을 실행합니다. 애플리케이션을 백그라운드에서 실행하려면 -d 옵션을 추가하면 됩니다.

$ docker-compose up -d

도커 컴포즈로 애플리케이션 종료

애플리케이션을 종료하려면 docker-compose down 명령을 사용합니다.

$ docker-compose down

위의 명령을 실행하면 실행된 컨테이너들이 모두 종료됩니다.

결론

도커 컴포즈를 사용하면 멀티 컨테이너 애플리케이션을 쉽게 배포할 수 있습니다. YAML 파일을 작성하여 컨테이너들의 설정과 관계를 정의하고, 명령 한 줄로 애플리케이션을 실행하거나 종료할 수 있습니다. 도커 컴포즈를 사용하여 애플리케이션 배포를 간편하고 효율적으로 관리해보세요.