删除构建后大小不能改变取决于
The size cannot change after del the build depends
我有一个如下的docker文件,发现当我添加"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 图像大小
这是由于 docker 图像由图层构建的方式所致。可以在 this post.
找到适用于您的情况的很好的解释
一般技术是 link 将您希望在一层中提交的所有内容合并到一个 运行 命令中。在您的情况下,它可能看起来像这样(可能需要调整):
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/*
我有一个如下的docker文件,发现当我添加"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 图像大小
这是由于 docker 图像由图层构建的方式所致。可以在 this post.
找到适用于您的情况的很好的解释一般技术是 link 将您希望在一层中提交的所有内容合并到一个 运行 命令中。在您的情况下,它可能看起来像这样(可能需要调整):
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/*