mirror of https://github.com/docker/docs.git
Merge pull request #13202 from duglin/ImportFix
Fix a regression in `docker import` on error from URL
This commit is contained in:
commit
ac81cd1fc3
|
@ -812,14 +812,17 @@ func (s *Server) postImagesCreate(version version.Version, w http.ResponseWriter
|
||||||
OutStream: output,
|
OutStream: output,
|
||||||
}
|
}
|
||||||
|
|
||||||
newConfig, err := builder.BuildFromConfig(s.daemon, &runconfig.Config{}, imageImportConfig.Changes)
|
// 'err' MUST NOT be defined within this block, we need any error
|
||||||
|
// generated from the download to be available to the output
|
||||||
|
// stream processing below
|
||||||
|
var newConfig *runconfig.Config
|
||||||
|
newConfig, err = builder.BuildFromConfig(s.daemon, &runconfig.Config{}, imageImportConfig.Changes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
imageImportConfig.ContainerConfig = newConfig
|
imageImportConfig.ContainerConfig = newConfig
|
||||||
|
|
||||||
err = s.daemon.Repositories().Import(src, repo, tag, imageImportConfig)
|
err = s.daemon.Repositories().Import(src, repo, tag, imageImportConfig)
|
||||||
|
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !output.Flushed() {
|
if !output.Flushed() {
|
||||||
|
|
|
@ -39,3 +39,14 @@ func (s *DockerSuite) TestImportDisplay(c *check.C) {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *DockerSuite) TestImportBadURL(c *check.C) {
|
||||||
|
runCmd := exec.Command(dockerBinary, "import", "http://nourl/bad")
|
||||||
|
out, _, err := runCommandWithOutput(runCmd)
|
||||||
|
if err == nil {
|
||||||
|
c.Fatal("import was supposed to fail but didn't")
|
||||||
|
}
|
||||||
|
if !strings.Contains(out, "dial tcp") {
|
||||||
|
c.Fatalf("expected an error msg but didn't get one:\n%s", out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue