From 49cbe047ce3a601b227069e9f7b0a6076f722f39 Mon Sep 17 00:00:00 2001 From: Olli Janatuinen Date: Wed, 26 May 2021 22:55:13 +0300 Subject: [PATCH] Print docker run stderr in-case of error Signed-off-by: Olli Janatuinen --- src/cmd/linuxkit/moby/docker.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cmd/linuxkit/moby/docker.go b/src/cmd/linuxkit/moby/docker.go index 98ddbc1f4..314a9f7d2 100644 --- a/src/cmd/linuxkit/moby/docker.go +++ b/src/cmd/linuxkit/moby/docker.go @@ -35,15 +35,17 @@ func dockerRun(input io.Reader, output io.Writer, img string, args ...string) er return err } + var errbuf strings.Builder args = append([]string{"run", "--network=none", "--log-driver=none", "--rm", "-i", img}, args...) cmd := exec.Command(docker, args...) + cmd.Stderr = &errbuf cmd.Stdin = input cmd.Stdout = output cmd.Env = env if err := cmd.Run(); err != nil { - if exitError, ok := err.(*exec.ExitError); ok { - return fmt.Errorf("docker run %s failed: %v output:\n%s", img, err, exitError.Stderr) + if _, ok := err.(*exec.ExitError); ok { + return fmt.Errorf("docker run %s failed: %v output:\n%s", img, err, errbuf.String()) } return err }