From 0ade84e151723b31552a88bc805a6bbfd7ec122d Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Fri, 12 May 2017 13:04:19 +0100 Subject: [PATCH] Fix docker pull Signed-off-by: Justin Cormack --- cmd/moby/docker.go | 8 +++++++- cmd/moby/image.go | 3 +-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/cmd/moby/docker.go b/cmd/moby/docker.go index 43c74184a..78c7a8eb5 100644 --- a/cmd/moby/docker.go +++ b/cmd/moby/docker.go @@ -176,7 +176,13 @@ func dockerPull(image string, trustedPull bool) error { return errors.New("could not initialize Docker API client") } - if _, err := cli.ImagePull(context.Background(), image, types.ImagePullOptions{}); err != nil { + r, err := cli.ImagePull(context.Background(), image, types.ImagePullOptions{}) + if err != nil { + return err + } + defer r.Close() + _, err = io.Copy(ioutil.Discard, r) + if err != nil { return err } log.Debugf("docker pull: %s...Done", image) diff --git a/cmd/moby/image.go b/cmd/moby/image.go index 83f9520c3..dfbbd632c 100644 --- a/cmd/moby/image.go +++ b/cmd/moby/image.go @@ -9,7 +9,6 @@ import ( "strings" log "github.com/Sirupsen/logrus" - "github.com/docker/docker/client" ) // This uses Docker to convert a Docker image into a tarball. It would be an improvement if we @@ -104,7 +103,7 @@ func imageTar(image, prefix string, tw *tar.Writer, trust bool, pull bool) error container, err := dockerCreate(image) if err != nil { // if the image wasn't found, pull it down. Bail on other errors. - if client.IsErrNotFound(err) { + if strings.Contains(err.Error(), "No such image") { log.Infof("Pull image: %s", image) err := dockerPull(image, trust) if err != nil {