Dockerfile
이라는 이름으로 빈 file 을 하나 만들어봅니다.# home 디렉토리로 이동합니다.
$ cd $HOME
# docker-practice 라는 이름의 폴더를 생성합니다.
$ mkdir docker-practice
# docker-practice 폴더로 이동합니다.
$ cd docker-practice
# Dockerfile 이라는 빈 파일을 생성합니다.
$ touch Dockerfile
# 정상적으로 생성되었는지 확인합니다.
$ ls
Dockerfile 에서 사용할 수 있는 기본적인 명령어에 대해서 하나씩 알아보겠습니다.
FROM
FROM <image>[:<tag>] [AS <name>]
# 예시
FROM ubuntu
FROM ubuntu:18.04
FROM nginx:latest AS ngx
COPY
COPY <src>... <dest>
# 예시
COPY a.txt /some-directory/b.txt
COPY my-directory /some-directory-2
RUN
RUN <command>
RUN ["executable-command", "parameter1", "parameter2"]
# 예시
RUN pip install torch
RUN pip install -r requirements.txt
CMD
CMD <command>
CMD ["executable-command", "parameter1", "parameter2"]
CMD ["parameter1", "parameter2"] # ENTRYPOINT 와 함께 사용될 때
# 예시
CMD python main.py
CMD
WORKDIR
WORKDIR /path/to/workdir
# 예시
WORKDIR /home/demo
ENV
ENV <key> <value>
ENV <key>=<value>
# 예시
# default 언어 설정
RUN 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
EXPOSE
EXPOSE <port>
EXPOSE <port>/<protocol>
# 예시
EXPOSE 8080