FastAPI 프로젝트를 Docker 컨테이너로 배포하는 방법

FastAPI는 빠른 성능과 간결한 코드 작성을 위해 설계된 Python 웹 프레임워크입니다. Docker는 애플리케이션을 쉽게 배포하고 관리하기 위한 컨테이너화 플랫폼입니다. 이 글에서는 FastAPI 프로젝트를 Docker 컨테이너로 배포하는 방법에 대해 알아보겠습니다.

1. Docker 설치

먼저, Docker를 설치해야 합니다. Docker 공식 웹사이트에서 운영체제에 맞는 Docker 설치 파일을 다운로드하여 설치합니다.

2. FastAPI 프로젝트 설정

FastAPI 프로젝트를 독립적으로 구성하여 Docker 컨테이너로 배포할 수 있도록 설정해야 합니다. 프로젝트 폴더에서 Dockerfile이라는 파일을 생성하고 다음과 같이 작성합니다.

FROM tiangolo/uvicorn-gunicorn-fastapi:python3.7

COPY ./app /app

Dockerfile은 공식적으로 유지되는 FastAPI의 도커 이미지를 기반으로 합니다. COPY 명령은 현재 디렉터리의 app 폴더를 Docker 컨테이너의 /app 경로로 복사합니다. 여기서 app 폴더는 FastAPI 애플리케이션 코드가 포함된 디렉터리입니다.

3. Docker 이미지 빌드

이제 FastAPI 프로젝트를 Docker 이미지로 빌드해야 합니다. 터미널에서 프로젝트 폴더로 이동한 후 다음 명령을 실행합니다.

docker build -t fastapi-app .

위 명령은 현재 디렉터리(.)에 있는 Dockerfile을 사용하여 fastapi-app이라는 이름의 Docker 이미지를 빌드합니다.

4. Docker 컨테이너 실행

Docker 이미지를 성공적으로 빌드했다면, 이제 해당 이미지를 실행하여 FastAPI 애플리케이션을 배포할 수 있습니다. 다음 명령을 사용하여 Docker 컨테이너를 실행합니다.

docker run -d --name fastapi-container -p 80:80 fastapi-app

위 명령은 fastapi-container라는 이름으로 Docker 컨테이너를 생성하고 호스트의 포트 80과 컨테이너의 포트 80을 맵핑하여 FastAPI 애플리케이션에 접속할 수 있도록 합니다.

5. 애플리케이션 테스트

FastAPI 애플리케이션은 이제 Docker 컨테이너에서 실행 중입니다. 웹 브라우저에서 http://localhost로 접속하여 애플리케이션을 테스트할 수 있습니다.

요약

위와 같은 방법으로 FastAPI 프로젝트를 Docker 컨테이너로 배포할 수 있습니다. Docker를 사용하면 애플리케이션을 쉽게 배포하고 관리할 수 있으며, FastAPI는 빠른 개발과 높은 성능을 제공하는 강력한 Python 웹 프레임워크입니다.


#FastAPI #Docker