이미지를 만들기 위하여 Dockerfile를 사용을 합니다.
Dockerfile내의 주요 명령어를 정리해 보았습니다.
docs.docker.com/engine/reference/builder/
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
'DevOps' 카테고리의 다른 글
[Docker] HTTPS Let 's Encrypt 인증서 발급받기 (0) | 2020.12.14 |
---|---|
[Docker] 네트워크, 컨테이너간 통신 (0) | 2020.12.12 |
[Docker] docker 주요 명령어 (0) | 2020.11.20 |
[nginx] nginx 프록시 설정 (0) | 2020.11.17 |