Docker Compose 퀵스타트

Docker Compose 퀵스타트 (Docker Compose Quickstart)

이 튜토리얼은 기본적인 Python 웹 애플리케이션 개발을 안내하며 Docker Compose의 핵심 개념을 소개해요.

Flask 프레임워크를 사용하며, 애플리케이션은 Redis에 히트 카운터를 갖춰요. Python에 익숙하지 않아도 여기서 보여주는 개념을 이해할 수 있게 구성되어 있어요.

출처: 문서

본문

사전 요구사항 (Prerequisites)

다음이 준비되어 있어야 해요:

  • 최신 버전의 Docker Compose 설치
  • Docker 개념과 Docker 동작 방식에 대한 기본 이해

1단계: 프로젝트 설정 (Step 1: Set up the project)

프로젝트용 디렉터리를 만들어요:

$ mkdir compose-demo
$ cd compose-demo

프로젝트 디렉터리에 다음을 추가해요:

import os
import redis
from flask import Flask

app = Flask(__name__)
cache = redis.Redis(
    host=os.getenv("REDIS_HOST", "redis"),
    port=int(os.getenv("REDIS_PORT", "6379")),
)

@app.route("/")
def hello():
    count = cache.incr("hits")
    return f"Hello from Docker! I have been seen {count} times."

이 코드는 hits 카운터를 Redis에 증가시키고 방문 횟수를 표시하는 Flask 앱이에요.

2단계: Dockerfile 만들기 (Step 2: Create the Dockerfile)

앱을 이미지로 빌드하기 위한 Dockerfile을 작성해요. (의존성 requirements.txt와 함께)

3단계: Compose 파일 만들기 (Step 3: Define services in Compose)

compose.yaml(또는 docker-compose.yml) 파일에서 webredis 서비스를 정의해요. redis는 공식 redis 이미지를, web은 방금 만든 Dockerfile을 빌드하도록 지정해요.

4단계: 앱 실행하기 (Step 4: Build and run the app)

$ docker compose up

이 명령은 정의한 모든 서비스를 빌드·시작하고, 웹 브라우저에서 앱에 접근해 방문 횟수가 증가하는 것을 확인할 수 있어요.

자세한 각 단계의 파일 내용과 명령은 원본 문서를 참고해요.

더 알아보기 (Learn more)