Support for multi-arch image unpacking

Resolves the platform on multi-arch manifests during unpack and config resolving.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
This commit is contained in:
Derek McGowan
2017-09-13 15:42:05 -07:00
parent 49437711c3
commit 46ded63f2d
7 changed files with 112 additions and 39 deletions

View File

@@ -30,6 +30,7 @@ import (
"github.com/containerd/containerd/content"
"github.com/containerd/containerd/images"
"github.com/containerd/containerd/namespaces"
"github.com/containerd/containerd/platforms"
"github.com/containerd/containerd/remotes"
"github.com/containerd/containerd/remotes/docker"
"github.com/containerd/containerd/rootfs"
@@ -205,7 +206,7 @@ func getImageLayers(ctx gocontext.Context, image images.Image, cs content.Store)
return nil, errors.Wrap(err, "failed to unmarshal manifest")
}
diffIDs, err := image.RootFS(ctx, cs)
diffIDs, err := image.RootFS(ctx, cs, platforms.Format(platforms.Default()))
if err != nil {
return nil, errors.Wrap(err, "failed to resolve rootfs")
}