Docker 컨테이너를 실행하여 로컬 디렉토리와 컨테이너 내부를 연결합니다.
# 기본 실행 명령어
docker run -d -it --rm -p 8333:8333 -p 8000:8000 -v ~/workspace:/home --name rest_api -e LC_ALL=C.UTF-8 jo1013/rest_api:0.1
# 일반 형식
docker run -d -it --rm -p [로컬포트]:[컨테이너포트] -v [로컬경로]:[컨테이너경로] --name [컨테이너이름] -e [환경설정] [이미지명]:[태그]
참고:
- 컨테이너 내
/home
디렉토리에 로컬 폴더 내용이 연결됩니다.- 다수의 컨테이너를 실행할 경우, 포트 충돌을 피하기 위해 Jupyter Notebook은 8333 포트를 사용합니다.
- FastAPI는 기본적으로 8000 포트를 사용합니다.
# 컨테이너 접속
docker exec -it rest_api bash
# 일반 형식
docker exec -it [CONTAINER_ID 또는 CONTAINER_NAME] bash
# Jupyter Notebook 실행
jupyter notebook --allow-root --ip=0.0.0.0 --port=8333 --no-browser
# 일반 형식
jupyter notebook --allow-root --ip=0.0.0.0 --port=[포트번호] --no-browser
uvicorn app:app --reload --host=0.0.0.0 --port=8000
uvicorn main:app --reload --host=0.0.0.0 --port=8000
# 일반 형식
uvicorn [파일명]:[app변수명] --reload --host=0.0.0.0 --port=[포트번호]
데이터 출처: 도로교통공단 TAAS(교통사고분석시스템) - http://taas.koroad.or.kr/api/
child
: 어린이사고bicycle
: 자전거사고dawn
: 야간사고old
: 노인사고pedestrian
: 보행자사고
- 지원 연도: 2012~2019
code
: 법정동코드cases
: 사고건수cases_ratio
: 사고건수 구성비die
: 사망자수dieratio
: 사망자수 구성비fatality
: 치사율lnjured
: 부상자수lnjuredratio
: 부상자수 구성비
API 문서는 브라우저에서 http://localhost:8000/docs
로 접속하여 확인할 수 있습니다.
localhost:8000/child
: 모든 연도의 어린이사고 데이터 (딕셔너리 형태)localhost:8000/child/2013
: 2013년 어린이사고 데이터 (딕셔너리 형태)localhost:8000/child/2013/code
: 2013년 어린이사고 법정동코드 목록 (리스트 형태)