0

所以我拉下了opensuse Docker——只有94M,不错!

我创建了一个这样的 Docker 文件:

FROM opensuse

RUN zypper --non-interactive install tar
RUN zypper --non-interactive clean -a
RUN rm -rf /var/log/zypp /var/log/zypper.log

'tar' 命令及其依赖项需要 ~3M,但生成的图像是 140M!我已经清理了缓存并杀死了日志,那么还有什么原因导致这里大约 40M 膨胀?

4

1 回答 1

2

RUN您需要在一个命令中完成整个操作

RUN zypper --non-interactive install tar \
  && zypper --non-interactive clean -a \
  && rm -rf /var/log/zypp /var/log/zypper.log

由于 docker 在每一行之后都进行提交

编辑历史

$ docker history  test
IMAGE               CREATED              CREATED BY                                      SIZE                COMMENT
f0c1173538b0        2 minutes ago        /bin/sh -c zypper --non-interactive install t   7.429 MB
80bd0f661aef        3 weeks ago          /bin/sh -c #(nop) ADD file:4c338e205c079dbf5d   97.78 MB
da0e7dee81d7        8 weeks ago          /bin/sh -c #(nop) MAINTAINER Flavio Castelli    0 B
于 2016-08-08T12:05:27.530 回答