본문 바로가기

부스트캠프 AI Tech/Product Serving

Docker

Docker

  • Image : 컨테이너를 실행할 때 사용하는 템플릿, read only
  • Container : Image를 활용해 실행된 Instance, readwrite
  • 원격저장소 - docherhub, GCR, ECR
    • docker pull "image_name:tag_num" : 가져오기
    • docker run --name "container_name" -e 환경변수 설정 -d(백그라운드 모드 설정) -p local_host_port:container_port image_name:tag
    • docker ps : 실행 중인 컨테이너 (docker ps -a : 중지된 컨테이너도 보여줌)
    • docker exec -it "container_name" /bin/bash : 컨테이너 진입
    • docker stop "container_name" : 중지
    • docker rm "container_name" 
  • Volume Mount : host와 container의 파일 공유
    • -v host_dir:container_dir
  • FROM "image_name:tag" : 이미지 빌드에 사용할 베이스 이미지
  • COPY . /app : 로컬 파일을 컨테이너(./app)로 복사, 컨테이너에서 쓰려면 반드시 복사해야함
  • WORKDIR /app : RUN, CMD, ENTRYPOINT 등을 실행할 경로(./app)
  • ENV PYTHONPATH=/app : 환경변수 설정
  • RUN "pip install ..." 컨터이네에서 실행할 리눅스 command, 여러 줄일 경우 (&& \)로 concat
  • CMD ["python", "main.py"] docker run으로 컨테이너 실행 시 실행할 command, 띄어쓰기 x
  • EXPOSE : 컨테이너 외부에 노출할 포트
  • ENTRYPOINT : 이미지를 컨테이너로 띄울 때 항상 실행하는 커맨드

 

  • docker build "path" -t "tag": 이미지 생성
  • dmesg - display message , 커널에 log 출력

'부스트캠프 AI Tech > Product Serving' 카테고리의 다른 글

Linux & Shell  (0) 2022.02.16
MLflow  (0) 2022.02.16