Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- svelte
- beautifullsoup
- edgestore
- vmmem
- shadcn-ui
- kidznote
- java
- Expo
- superbase
- wsl2
- FastAPI
- TypeScript
- vercel
- springboot
- Book
- WSLHostPatcher
- oraclecloude
- docker
- spring
- react
- tessrect
- 일의격
- reactnative
- stepzen
- dokerfile
- AWS
- Markdown
- flyio
- Nextjs
- Delphi
Archives
- Today
- Total
Blog
[TIL] 2023-09-01 도커환경에서 서버 db 연결 본문
로컬에서 도커로 개발환경을 변경
로컬 개발 후 실행환경만 따로 docker image로 만들어 쓰면 됨
변경하기 전 샘플을 만들어 테스트 부터 해보자
- db 이미지 받고 도커 실행
- fastapi 서버 코드 작성
- fastapi 서버를 운영할 도커 이미지 받고 db 접속 및 api 테스트
postgres db 연결
도커에서 이미지 받아 사용하자
docker pull postgres:alpine
docker run --name fastapi-db -e POSTGRES_PASSWORD=password -d -p 5432:5432 postgres:alpinefastapi
아래와 같이 도커파일로 이미지 생성 후 컨테이너 실행 및 웹 접속 확인
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