728x90
반응형
RUN 으로 실행하면 해당 레이어가 이미지에 포함되므로 의도치 않은 결과를 가져올 수 있다
# vi Dockerfile
FROM ubuntu
RUN mkdir /test
RUN fallocate -l 100mb /test/dummy
RUN rm /test/dummy
- 빌드해보면 아래의 결과를 볼 수 있다.
- 원래 ubuntu:77MB
- 빌드된 이미지: 200MB
- 이유는 마지막 RUN rm /test/dummy하기 전 RUN fallocate -l 100mb /test/dummy로 생성된 레이어가 이미 이미지에 포함이 되었기 때문이다.
- 이를 해결하기 위해서는 레이어를 따로 생성하지 않고 최종 명령어가 반영된 최종 레이어만 이미지에 포함하면 된다. 그러기 위해서는 RUN 명령어에 && 연산자를 사용해서 하나의 명령어로 처리하면 된다.
...
RUN fallocate -l 100mb /test/dummy && \
rm /test/dummy
...
728x90