본문 바로가기
프로그래밍언어/Python

도커(Docker)로 FastAPI 실행하기 - 완전 초보자 가이드

by plog 2025. 4. 16.

도커 - Python 실행 가이드

요즘 백엔드 프레임워크 중 핫한 FastAPI.

FastAPI는 Python 기반의 웹 프레임워크로, 비동기 처리와 빠르고 직관적인 API 서버 구축이 가능합니다. 도커에서 FastAPI 서버를 싱행하면서 사용방법을 알아보겠습니다. 

 

개요

1. 도커(Docker)란
도커(Docker)는 컨테이너 기반 가상화 기술을 활용하여 애플리케이션을 배포, 실행, 관리할 수 있는 플랫폼입니다. 

2. 도커 설치
Docker Desktop 설치 (Windows, Mac)

 

 

Docker: Accelerated Container Application Development

Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.

www.docker.com

 

FastAPI 예제

1. FastAPI 예제 작성

# main.py
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    return {"message": "Hello, FastAPI!"}

@app.get("/health")
async def healthcheck():
    return {"status": "healthy"}

if __name__ == "__main__":
    import uvicorn

    uvicorn.run(app, host="127.0.0.1", port=8080)

 

2. requirements.txt

fastapi
uvicorn

 

3. Dockerfile

# Dockerfile
# python 3.10 버전
FROM python:3.10 

# 컨테이너 내에서의 작업 디렉토리를 /app으로 설정
WORKDIR /app 

# 호스트의 현재 디렉토리(.)를 /app에 복사
COPY . /app 

# requirements.txt에 명시된 패키지들을 설치
RUN pip install -r requirements.txt 

# 컨테이너가 시작될 때 main.py를 실행하여 FastAPI 애플리케이션을 구동
CMD [ "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080" ]

 

4. 도커 이미지 빌드​
터미널에서 실행

docker build -t fastapi-server .

 

5. 컨테이너 실행

docker run -d -p 8080:8080 fastapi-server

 

6. 사이트 접속
웹 브라우저에서 http://127.0.0.1:8080 접속

 

도커를 활용하면 프로그램 실행 환경을 손쉽게 관리하고 배포할 수 있습니다. 가벼운 컨테이너 기반 가상화를 통해 효율적인 개발 및 운영 환경을 구축해 보세요.

 

댓글