help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guix Docker image inflation


From: zimoun
Subject: Re: Guix Docker image inflation
Date: Mon, 1 Jun 2020 02:37:05 +0200

Hi Chris,

On Sun, 31 May 2020 at 23:04, Chris Marusich <cmmarusich@gmail.com> wrote:

> Anyway, the point is: you begin with a previous image.  The previous
> image already has these store paths from the previous installation of
> Guix.  Therefore, they exist on the previous layer.  Because they exist
> on the previous layer, they cannot be removed from the Docker image, and
> they are carried forward in that previous layer, to all new images.
> Regardless of any changes to guix-daemon we might make, the way in which
> you build your images will cause them to grow by hundreds of megabytes
> every day.

I agree that the core of the issue is the Docker layers filesystem.
And it cannot be fixed on the Guix side.  Therefore, even it is *bad*
and dangerous, what about

--8<---------------cut here---------------start------------->8---
root@guix /# guix gc
root@guix /# guix gc --list-dead | xargs rm -rf
root@guix /# exit
$ docker stop
$ docker commit
$ docker export $ID | docker import - guix-new
> --8<---------------cut here---------------end--------------->8---

?

Well, it cannot be recommended because it is dangerous.  But it
somehow bypasses the guix-daemon and "hard-removes" the items and
then, as Vincent suggested, 'docker export | docker import' flattens
the layers so the dead items are then really gone in the new Docker
image.  And I have shown [1], "guix gc+export/import" does not lead to
an image where the dead items are gone, I have not mistaken.

[1] http://issues.guix.gnu.org/41607#6


WDYT?

Cheers,
simon



reply via email to

[Prev in Thread] Current Thread [Next in Thread]