如何减lessdocker图像大小?

我使用docker官方rails onbuild包( https://registry.hub.docker.com/_/rails/ )来构build和创build应用程序的rails图像。 但每个应用程序大约需要900MB。 有什么办法可以减小这个尺寸?

这是我的工作stream程 – >

add dockerfile to the project -> build -> run 

问题是在这个系统上可能有N个应用程序,如果每个应用程序需要1G的磁盘空间,这将是一个问题。 如果我们减less层数会减less大小? 如果是,那怎么办?

 REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE blog2 latest 9d37aaaa3beb About a minute ago 931.1 MB my-rails-app latest 9904zzzzc2af About an hour ago 931.1 MB 

由于它们全都来自同一个基本映像,因此它们每个都不占用900MB(假设您将AUFS用作文件系统*)。 将有一个基本图像( _/rails )的副本,然后所做的更改将存储在单独的(通常小得多的)图层中。

如果你想看到每个图像层的大小,你可能喜欢玩这个工具 。 我也在这里集装箱。

*)如果您在Ubuntu或Debian上使用docker ,则可能是AUFS默认。 其他主机Linux版本可以为图像使用不同的文件系统,而且它们并不都能很好地共享基本图像。