Notice
Recent Posts
Recent Comments
Link
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Archives
Today
Total
관리 메뉴

Blog

[TIL] 2023-09-01 도커환경에서 서버 db 연결 본문

카테고리 없음

[TIL] 2023-09-01 도커환경에서 서버 db 연결

ggi88 2023. 9. 1. 15:42

로컬에서 도커로 개발환경을 변경

로컬 개발 후 실행환경만 따로 docker image로 만들어 쓰면 됨
변경하기 전 샘플을 만들어 테스트 부터 해보자

  1. db 이미지 받고 도커 실행
  2. fastapi 서버 코드 작성
  3. fastapi 서버를 운영할 도커 이미지 받고 db 접속 및 api 테스트

postgres db 연결

도커에서 이미지 받아 사용하자

docker pull postgres:alpine
docker run --name fastapi-db -e POSTGRES_PASSWORD=password -d -p 5432:5432 postgres:alpine

fastapi

아래와 같이 도커파일로 이미지 생성 후 컨테이너 실행 및 웹 접속 확인

FROM python:alpine

WORKDIR /app

COPY . .
RUN pip install --upgrade pip
RUN pip install -r requirements.txt

EXPOSE 8000

CMD ["uvicorn", "main:app", "--reload", "--host=0.0.0.0", "--port=8000"]

models, schema, crud, router

  • models - 데이터를 저장할 db 테이블 정의, 모델 클래스 정의
  • schema - 데이터 입출력 관리 파일, 입출력 포맷 정의
  • crud - 데이터베이스 처리 파일, 데이터 crud, 커밋 등
  • router - 라우터 파일

Response Model

reponse_model 이라는 인자로 쉽게 데이터를 정형화하여 내보낼 수 있다.

@app.get('/', reponse_model=list)

db connect test

  • 네트워크 주소 확인 후 붙어준다
  • 다음에는 docker-compose 를 사용하여 연결해보자
apk add postgresql-client

psql -h locahost -U postgres