大小取决于del构建后无法更改

时间:2018-12-28 02:25:12

标签: docker dockerfile docker-image

我有一个dockerfile,发现添加“ RUN apk del .build-deps”后,dcoker映像的大小无法减小,

RUN apk -U upgrade && \
    apk -v add --no-cache --virtual .build-deps gcc make && \
    apk -v add --no-cache bash curl && \
    apk -v add --no-cache mysql-client libc-dev mariadb-dev
COPY ./squid.conf /etc/squid/
COPY ./startService.sh /

WORKDIR /home/mysql_auth
RUN make clean && make && make install
RUN apk del .build-deps && \
    rm -rf /var/cache/apk/*

出了什么问题,我可以修改此Dockerfile中的内容以减小Docker映像大小

1 个答案:

答案 0 :(得分:0)

这是由于docker映像是分层构建的。您可以在this post.

找到适用于您的情况的很好的解释

一般技术是将要在一层中提交的所有内容链接到一个RUN命令中。在您的情况下,它可能看起来像这样(可能需要调整):

RUN apk -U upgrade && \
    apk -v add --no-cache bash curl && \
    apk -v add --no-cache mysql-client libc-dev mariadb-dev
COPY ./squid.conf /etc/squid/
COPY ./startService.sh /

WORKDIR /home/mysql_auth
RUN apk -v add --no-cache --virtual .build-deps gcc make && \
    make clean && make && make install && \
    apk del .build-deps && \
    rm -rf /var/cache/apk/*