KeiStory

ubuntu 와 python 설치 및 FastAPI 실행되도록 DockerFile  만들기 - requirements.txt

 

ubuntu 에서 python 으로 FastAPI 를 이용해 API 를 구동시키도록 만들었습니다.

이를 DockerFile 을 이용해 이미지를 만들어 놓으면 두고두고 쓸 것 같아서 만들었습니다.

가상환경을 활성화해야 그 가상환경에서 pip install requirements.txt 명령이 실행됩니다.

# 우분투 이미지 가져오기
FROM ubuntu:22.04

# 설치시 확인 메세지 무시 (권장안함)
#ENV DEBIAN_FRONTEND=noninteractive

# 가상환경 디렉터리 경로
ENV VENV_PATH=/app/venv

# 파이썬 설치
RUN apt-get update -y
RUN apt-get install -y python3 python3-pip python3-venv
RUN apt-get clean

# 작업 폴더 지정
WORKDIR /app

# 가상환경 생성
RUN python3 -m venv $VENV_PATH

# 필요 항목 목록 복사 후 설치
COPY requirements.txt .
RUN $VENV_PATH/bin/pip install --no-cache-dir -r requirements.txt

# 소스 복사
COPY . .

# 노출 포트 지정
EXPOSE 8000

# 가상환경 활성화 하고 앱 실행
CMD ["/bin/bash", "-c", "source $VENV_PATH/bin/activate && uvicorn main:fastAPI --host 0.0.0.0 --port 8000"]

 

main.py

from fastapi import FastAPI
 
fastAPI = FastAPI()
 
@fastAPI.get("/")
def root():
    return {"message" : "Hello World"}
 
@fastAPI.get("/home")
def home():
    return {"message" : "home"}

 

requirements.txt

fastapi
uvicorn

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band