728x90
Docker build
컨테이너에서 할당한 포트 를 외부 네트워크 노출을 위해 호스트의 포트와 바인딩한다 .
앞 (호스트 포트) : 뒤 (컨테이너 포트)
docker run -dit -p 8000:80 nginx
Dockerfile : 명세서와 같다. 쿠버네티스에서의 YAML
docker push <IMAGE>:<TAG> # 도커레지스트리
docker run <IMAGE>:<TAG> # 호스트 도커 실행환경
도커파일 세부내용
# 위에서 아래로 실행이 되는 Docker layer
FROM python:3.11
WORKDIR /code
COPY ./requirements.txt /code/requirements.txt #현재 위치로 복사
RUN pip install \ #실행
--no-cache-dir \
--upgrade \
-r /code/requirements.txt
COPY ./app /code/app
CMD [ \ #최종실행 코드
"uvicorn", \
"app.main:app", \
"--host", \
"0.0.0.0", \
"--port", \
"8000" \
]
Fast API 실행해보기
docker build . -t fastapi-app:latest # fastAPIbuild
docker run \
-dit -p 8000:8000 --name fastapi-app-test fastapi-app:latest # 도커 실행
docker dive : layer 들을 TUI 로 확인을 해줄 수 있는 프로그램
도커 이미지 배포
Docker hub 에는 , 각각의 다양한 image 들디 배포가 되어있다.
#tagging 을 통해서 배포
docker tag\ fastapi-app:1.0.0 username/fastapi-app:1.0.0
docker images
docker push username/fastapi-app:1.0.0 # hub 에서 받을 수 있음.
docker pull username/fastapi-app:1.0.0 # 다운로드 가능
도커 빌드의 시간 단축
기존의 배포형태 (도커이미지 Base)
docker build . -t fastapi-app-base:1.0.0 -f Dockerfile.base
도커 이미지 Service
docker build . -t fastapi-app.1.0.0
-> 시간을 매우 단축 시켜줄 수 있다.
728x90
'Study notes' 카테고리의 다른 글
Docker Container 이해하기 (0) | 2024.07.11 |
---|---|
FastAPI 기초부터 A to Z (0) | 2024.07.10 |
Docker에 대하여 - (1) (0) | 2024.06.13 |
Vector DB의 Querying 검색방법(keyword, semantic, hybrid) (3) | 2024.05.08 |
Vector DB의 Indexing 이란? (0) | 2024.04.23 |