From 801a23e64f84c8eca76ed93328f7e90b81959f7f Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Thu, 22 Apr 2021 14:03:04 -0700 Subject: extract layers to a mounted loop device We create a loop device by pre-allocating space to a file on disk. This file is then converted to an ext4 partition, which we mount to a temporary path on the host. Once this is done, we extract all the layers from the given container on that mounted path. We also add a few extra files to the image (`/etc/hosts` and `/etc/resolv.conf`). When we're done extracting and writing, we run resize2fs in order to resize the image to a more reasonable size. --- go.mod | 3 +++ 1 file changed, 3 insertions(+) (limited to 'go.mod') diff --git a/go.mod b/go.mod index f4d6398..b033d54 100644 --- a/go.mod +++ b/go.mod @@ -9,9 +9,12 @@ require ( github.com/containerd/continuity v0.0.0-20210315143101-93e15499afd5 // indirect github.com/containerd/fifo v0.0.0-20210331061852-650e8a8a179d // indirect github.com/containerd/typeurl v1.0.2 // indirect + github.com/docker/docker v20.10.6+incompatible github.com/gogo/googleapis v1.4.1 // indirect github.com/google/go-cmp v0.5.5 // indirect + github.com/google/renameio v0.1.0 github.com/google/uuid v1.2.0 // indirect + github.com/moby/sys/mount v0.2.0 // indirect github.com/opencontainers/image-spec v1.0.1 github.com/sirupsen/logrus v1.8.1 // indirect golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1 // indirect -- cgit 1.4.1