Hi Chris,

On Sun, 31 May 2020 at 23:04, Chris Marusich <cmmarus...@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