본문 바로가기
Study notes

Docker에 대하여 - (2)

by AI미남홀란드 2024. 6. 13.
728x90

Docker build 

 

컨테이너에서 할당한 포트 를 외부 네트워크 노출을 위해 호스트의 포트와 바인딩한다 .

앞 (호스트 포트) : 뒤 (컨테이너 포트)

docker run -dit -p 8000:80 nginx

Docker build 과정

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 로 확인을 해줄 수 있는 프로그램

 

 

GitHub - wagoodman/dive: A tool for exploring each layer in a docker image

A tool for exploring each layer in a docker image. Contribute to wagoodman/dive development by creating an account on GitHub.

github.com

 

도커 이미지 배포

Docker hub 에는 , 각각의 다양한 image 들디 배포가 되어있다.

 

 

Docker Hub Container Image Library | App Containerization

Increase your reach and adoption on Docker Hub With a Docker Verified Publisher subscription, you'll increase trust, boost discoverability, get exclusive data insights, and much more.

hub.docker.com

 

#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