if __name__ == "__main__":
# TODO 로컬 배포
# uvicorn.run("main:app", host="127.0.0.1", port=8000, reload=True)
# TODO 실서버 배포
uvicorn.run("main:app", host="0.0.0.0", port=8000)
https://mariadb.com/docs/server/connect/programming-languages/python/install/
마리아 db가 안깔릴 경우 reqirements.txt에서 mariadb를 1.0.11버전 또는 위에서 최신 커넥터가 1.0인 최신 버전을 설치
# 도커 허브에서 이미지를 가져와서 이미지를 작업한다
# FROM (이미지 이름:버전)
FROM python:3.10.7
# 컨테이너 실행 전 작동할 명령
# RUN (명령)
# 타임존 설정 (설정을 하지 않으면 시간 저장시 다른 시간대로 저장됨)
RUN ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
RUN echo Asia/Seoul > /etc/timezone
# 컨테이너 내 작업 경로
# WORKDIR (경로)
WORKDIR /app
# 파일 복사
COPY . .
# 파이썬 라이브러리 설치
RUN pip install -r requirements.txt
# 서버 실행
CMD python src/main.py
docker build -t 이미지이름 도커파일경로
docker build —platform linux/amd64 -t 이미지이름 도커파일경로
-t 옵션 : 이미지 태그
docker run -it --restart=always -d -p 8000:8000 --name 컨테이너이름 이미지이름
-it : 컨테이너 접속용
--restart=always : 도커 재구동시 자동 실행
-d : 백그라운드 실행
-p : 포트설정 ex) 80:8080 80으로 접속시 8080으로 인바운드
--name : 컨테이너 이름 설정
프론트엔드의 주소만 받는 것이 좋다.