[ML] MLOps - Docker Image

GisangLee·2022년 8월 1일
0

ML

목록 보기
121/141

1. Docker Image 만들기

Dockerfile 작성법

  1. FROM

    Dockerfile이 base image로 어떤 이미지를 사용할 것인지 명시


FROM <image>[:<tag>] [AS <name>]

ex)

FROM ubuntu
FROM ubuntu:18.04
FROM nginx:latest AS ngx
  1. COPY

    src의 파일 혹은 디렉토리를 dest 경로에 복사

COPY <src> ... <dest
    
ex)

COPY a.txt /some-dir/b.txt
COPY my-dir/ /some-dir-2
  1. RUN

    명시한 커맨드를 도커 컨테이너에서 실행하는 것을 명시

RUN <command>
RUN ["executable-command", "parameter1", "parameter2"]

ex)
RUN pip install torch
RUN pip install -r requirements.txt
  1. CMD

    명시한 커맨드를 도커 컨테이너가 시작될 때, 실행하는 것을 명시

CMD <command>
CMD ["executable-command", "parameter1", "parameter2"]

ex)
CMD python main.py
  1. WORKDIR

    이후 작성될 명령어를 컨테이너 내의 어떤 디렉토리에서 수행할 것인지 명시

WORKDIR /path/workdir

ex)
WORKDIR /home/demo
  1. ENV

    컨테이너 내부에서 지속적으로 사용될 env variable의 값을 설정

ENV <key> <value>
ENV <key>=<value>

ex)

ENV locale-gen ko_KR_UTF-8
ENV LANG ko_KR.UTF-8
ENV LANGUAGE ko_KR.UTF-8
ENV LC_ALL ko_KR.UTF-8
  1. EXPOSE

    컨테이너에서 뚫어줄 포트/프로토콜을 지정
    protocol을 지정하지 않으면 TCP가 디폴트로 설정됨.

EXPOSE <port>
EXPOSE <port>/<protocol>

ex )
EXPOSE 8080

Dockerfile 간단하게 작성해보기


FROM ubuntu:18.04

RUN apt-get update

CMD ["echo", "hello world"]

Docker build from Dockerfile

$ docker build -t my-image:v1.0.0 .

profile
포폴 및 이력서 : https://gisanglee.github.io/web-porfolio/

0개의 댓글