728x90
반응형

도커파일(Dockerfile)이란 사용자가 도커 이미지를 쉽게 만들 수 있도록 도와주는 템플릿입니다.

 

기본 명령어

FROM -> Dockerfile이 어떤 이미지를 base image로 사용할 것인지 명시해줌

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

# EX)
FROM ubuntu
FROM ubuntu:18.04
FROM nginx:latest AS ngx

 

COPY -> <src>의 파일, 디렉토리를 <dest> 경로에 복사

# COPY <src>... <dest>

# EX)
COPY 1.txt /test/1.txt
COPY my-dir /test-dir

 

RUN -> 명시한 커맨드를 도커 컨테이너에서 실행

# RUN <command>

# EX)
RUN pip install numpy
RUN pip install -r requirements.txt

 

CMD -> 명시한 커맨드를 도커 컨테이너가 시작될 때 실행

하나의 도커 이미지에서 하나의 CMD만 실행 가능하다.

# CMD <command>

# EX)
CMD python main.py

 

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

# WORKDIR /path/to/workdir

# EX)
WORKDIR /home/test

 

ENV -> 컨테이너 내부에서 지속적으로 사용될 환경 변수의 값을 설정

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

# EX)
ENV LANG ko_KR.UTF-8
ENV LC_ALL ko_KR.UTF-8

 

EXPOSE -> 컨테이너에서 뚫어줄 포트/프토로콜을 지정

프로토콜을 지정하지 않으면 TCP가 디폴트로 설정됩니다.

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

# EX)
EXPOSE 8080

 

Dockerfile 작성 예시

# base image를 ubuntu 최신 버전으로 설정
FROM ubuntu:latest

#  apt-get update 명령어 실행
RUN apt-get update

# 도커 컨테이너가 시작될 때, "Hello World!" 출력
CMD ["echo", "Hello World!"]

위와 같이 Dockefile을 생성한 후 아래 명령어를 실행해주면 도커 이미지가 생성됩니다.

docker build -t test-image:v1.0.0 .

설명하자면 이름이 my-image고 태그가 v1.0.0인 이미지를 현재 경로에 있는 Dockerfile로부터

빌드하겠다는 명령어입니다. 

 

이미지가 생성되고 나서 아래 명령어를 통해 도커 컨테이너를 실행하면

Hello World!가 출력되는 것을 확인할 수 있습니다.

docker run test-image:v1.0.0

728x90
반응형

'MLOps' 카테고리의 다른 글

도커(Docker) 설치, 명령어  (0) 2021.11.18
MLOps란?  (0) 2021.11.16
GCP 인스턴스, 스토리지 버킷 생성하기(ssh 접속, gsutil, 권한 설정)  (0) 2021.06.08

+ Recent posts