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) 파일에서 web과 redis 서비스를 정의해요. redis는 공식 redis 이미지를, web은 방금 만든 Dockerfile을 빌드하도록 지정해요.
4단계: 앱 실행하기 (Step 4: Build and run the app)
$ docker compose up
이 명령은 정의한 모든 서비스를 빌드·시작하고, 웹 브라우저에서 앱에 접근해 방문 횟수가 증가하는 것을 확인할 수 있어요.
자세한 각 단계의 파일 내용과 명령은 원본 문서를 참고해요.