Hi Vincent, On Sun, 31 May 2020 at 12:50, Vincent Legoll <vincent.leg...@gmail.com> wrote:
> docker export <CONTAINER ID> | docker import - img_name I do not know if it really works here. Maybe I am doing incorrectly... --8<---------------cut here---------------start------------->8--- $ docker images --format "{{.Size}}\t{{.Repository}}" 959MB 4reexport 960MB 3clean 960MB 2remove-hello 959MB 1install-hello 578MB 0new-fresh 1.06GB fresh 1.06GB singularsyntax/guix-bootstrap --8<---------------cut here---------------end--------------->8--- Well, and the interesting part is: --8<---------------cut here---------------start------------->8--- $ CONTAINER=`docker run --detach --tty --privileged 4reexport` $ docker exec --interactive --tty $CONTAINER /bin/sh / # /root/.config/guix/current/bin/guix gc --list-live | grep hello /root/.config/guix/current/bin/guix gc --list-live | grep hello finding garbage collector roots... determining live/dead paths... / # /root/.config/guix/current/bin/guix gc --list-dead | grep hello /root/.config/guix/current/bin/guix gc --list-dead | grep hello finding garbage collector roots... determining live/dead paths... /gnu/store/kg9mirg6xbvzcp0a98v7326n1nvvwgsj-hello-2.10 / # /root/.config/guix/current/bin/guix gc --references /gnu/store/kg9mirg6xbvzcp0a98v7326n1nvvwgsj-hello-2.10 /root/.config/guix/current/bin/guix gc --references /gnu/store/kg9mirg6xbvzcp0a98v7326n1nvvwgsj-he llo-2.10 guix gc: error: path `/gnu/store/kg9mirg6xbvzcp0a98v7326n1nvvwgsj-hello-2.10' is not valid / # exit --8<---------------cut here---------------end--------------->8--- Just for the record, the commands run: --8<---------------cut here---------------start------------->8--- $ CONTAINER=`docker run --detach --tty --privileged fresh` $ CMD='CMD "/root/.config/guix/current/bin/guix-daemon" "--build-users-group=guixbuild"' $ docker export $CONTAINER \ | docker import --change $CMD - 0new-fresh $ CONTAINER=`docker run --detach --tty --privileged 0new-fresh` $ docker exec --interactive --tty $CONTAINER /bin/sh / # /root/.config/guix/current/bin/guix install hello / # exit $ docker stop $CONTAINER $ HASH=`docker commit $CONTAINER` && docker tag $HASH 1install-hello $ CONTAINER=`docker run --detach --tty --privileged 1install-hello` $ docker exec --interactive --tty $CONTAINER /bin/sh / # /root/.config/guix/current/bin/guix remove hello / # exit $ docker stop $CONTAINER $ HASH=`docker commit $CONTAINER` && docker tag $HASH 2remove-hello $ CONTAINER=`docker run --detach --tty --privileged 2remove-hello` $ docker exec --interactive --tty $CONTAINER /bin/sh / # /root/.config/guix/current/bin/guix pull -d / # /root/.config/guix/current/bin/guix package -d / # /root/.config/guix/current/bin/guix gc / # exit $ docker stop $CONTAINER $ HASH=`docker commit $CONTAINER` && docker tag $HASH 3clean $ CONTAINER=`docker run --detach --tty --privileged 3clean` $ docker export $CONTAINER | docker import --change $CMD - 4reexport --8<---------------cut here---------------end--------------->8--- where I cheated with $CMD which does not as is but the full 'CMD...' has to be typed after '--change'. All the best, simon