DevOps

[Docker] Dockerfile command

Xmobile 2020. 11. 20. 09:55

이미지를 만들기 위하여 Dockerfile를 사용을 합니다. 

Dockerfile내의 주요 명령어를 정리해 보았습니다.

docs.docker.com/engine/reference/builder/

 

Dockerfile reference

 

docs.docker.com

 

Dockerfile 빌드 

build

Dockerfile로부터 이미지 생성
docker build .
docker build -f /path/to/a/Dockerfile .

 

Dockerfile내 명령어

FROM

베이스이미지를 불러옵니다.
FROM [--platform=<platform>] <image> [AS <name>]
ROM [--platform=<platform>] <image>[:<tag>] [AS <name>]
FROM [--platform=<platform>] <image>[@<digest>] [AS <name>]

RUN

RUN <command>
RUN /bin/bash -c 'source $HOME/.bashrc; \
echo $HOME'
RUN /bin/bash -c 'source $HOME/.bashrc; echo $HOME'
RUN ["/bin/bash", "-c", "echo hello"]

CMD

CMD ["executable","param1","param2"]

COPY

COPY [--chown=<user>:<group>] <src>... <dest>
COPY [--chown=<user>:<group>] ["<src>",... "<dest>"]

ADD

ADD [--chown=<user>:<group>] <src>... <dest>
ADD [--chown=<user>:<group>] ["<src>",... "<dest>"]

ENTRYPOINT

컨테이너가 시작되었을때 실행
ENTRYPOINT ["executable", "param1", "param2"]
ENTRYPOINT command param1 param2

VOLUME

마운트 포인트를 생성
FROM ubuntu
RUN mkdir /myvol
RUN echo "hello world" > /myvol/greeting
VOLUME /myvol

WORKDIR

도커파일내의 RUN, CMD, ENTRYPOINT, COPY and ADD가 실행되는 위치를 지정
WORKDIR /a
WORKDIR b
WORKDIR c
RUN pwd

EXPOSE

컨테이너가 listens할 port를 지정
EXPOSE <port> [<port>/<protocol>...]
EXPOSE 80/udp