是啥导致 opensuse Docker 膨胀?

Posted

技术标签:

【中文标题】是啥导致 opensuse Docker 膨胀?【英文标题】:What's causing bloat on opensuse Docker?是什么导致 opensuse Docker 膨胀? 【发布时间】:2015-10-28 06:06:01 【问题描述】:

所以我拉下了 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 的膨胀?

【问题讨论】:

你可以看看 /var/cache/zypp 目录下还有什么 【参考方案1】:

您需要在一个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

【讨论】:

以上是关于是啥导致 opensuse Docker 膨胀?的主要内容,如果未能解决你的问题,请参考以下文章

在 OpenSUSE 中更新到 1.12.6-176.1 后无法启动 docker 服务:

opensuse 怎么安装docker

Docker 在 openSUSE 下的安装使用

openSUSE4.1 安装docker

是啥导致 Docker/Node 在负载下出现 ESOCKETTIMEDOUT 或 ECONNREFUSED 错误?

如何在opensuse中的同一台机器上的VM和docker之间共享目录?