如何减小Docker镜像的大小?

4
我可以帮您翻译成中文。这段内容是关于使用Docker官方的rails onbuild包(https://registry.hub.docker.com/_/rails/)来构建和创建应用程序的rails镜像,但每个应用程序大约需要900MB。是否有任何方法可以减小这个大小?以下是我的工作流程 ->
add dockerfile to the project -> build -> run

问题在于该系统上可能有 N 个应用程序,如果每个应用程序占用 1G 的磁盘空间,这将是一个问题。如果我们减少层数,它会减小大小吗?如果是,如何做到?
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
1个回答

4
由于它们都来自同一基础映像,因此它们不会每个占用900MB(假设您使用的文件系统是AUFS)。将有一个基础映像(_/rails),然后您所做的更改将存储在单独的层中(通常要小得多)。
如果您想查看每个映像层的大小,可以尝试使用这个工具。我也将其容器化在这里
*)如果您在Ubuntu或Debian上使用docker,则可能默认为AUFS。其他主机Linux版本可以使用不同的文件系统来处理映像,并且它们并不都很好地共享基础映像。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接