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
Docker Error : no matching manifest for unknown in the manifest list entries. (0) | 2024.05.21 |
---|---|
Docker 자주 쓰는 명령어 (0) | 2024.05.21 |
Visual Studio 에서 콘솔앱 Docker 실행 및 디버깅 하기 (0) | 2024.05.21 |
ubuntu 에 python 설치하고 fastAPI 실행하는 DockerFile 만들기 (0) | 2024.05.20 |
Docker Image 만들어 Docker Hub 에 업로드 하기 (0) | 2024.05.19 |