Skip to content

Commit

Permalink
dont pull/inspect containers with no images
Browse files Browse the repository at this point in the history
  • Loading branch information
csquared committed Jan 27, 2016
1 parent a5d6878 commit 12daed4
Showing 1 changed file with 27 additions and 25 deletions.
52 changes: 27 additions & 25 deletions api/manifest/manifest.go
Original file line number Diff line number Diff line change
Expand Up @@ -899,38 +899,40 @@ func dockerHost() (host string) {
func getLinkEntryEnv(linkEntry ManifestEntry) (map[string]string, error) {
linkEntryEnv := make(map[string]string)

pull := Execer("docker", "pull", linkEntry.Image)
err := pull.Run()
if err != nil {
return linkEntryEnv, fmt.Errorf("could not pull container %q: %s", linkEntry.Image, err.Error())
}
if linkEntry.Image != "" {
pull := Execer("docker", "pull", linkEntry.Image)
err := pull.Run()
if err != nil {
return linkEntryEnv, fmt.Errorf("could not pull container %q: %s", linkEntry.Image, err.Error())
}

cmd := Execer("docker", "inspect", linkEntry.Image)
output, err := cmd.CombinedOutput()
cmd := Execer("docker", "inspect", linkEntry.Image)
output, err := cmd.CombinedOutput()

if err != nil {
return linkEntryEnv, fmt.Errorf("could not inspect container %q: %s", linkEntry.Image, err.Error())
}
if err != nil {
return linkEntryEnv, fmt.Errorf("could not inspect container %q: %s", linkEntry.Image, err.Error())
}

var inspect []struct {
Config struct {
Env []string
var inspect []struct {
Config struct {
Env []string
}
}
}

err = json.Unmarshal(output, &inspect)
if err != nil {
return linkEntryEnv, err
}
err = json.Unmarshal(output, &inspect)
if err != nil {
return linkEntryEnv, err
}

if len(inspect) < 1 {
return linkEntryEnv, fmt.Errorf("could not inspect container %q", linkEntry.Image)
}
if len(inspect) < 1 {
return linkEntryEnv, fmt.Errorf("could not inspect container %q", linkEntry.Image)
}

for _, val := range inspect[0].Config.Env {
parts := strings.SplitN(val, "=", 2)
if len(parts) == 2 {
linkEntryEnv[parts[0]] = parts[1]
for _, val := range inspect[0].Config.Env {
parts := strings.SplitN(val, "=", 2)
if len(parts) == 2 {
linkEntryEnv[parts[0]] = parts[1]
}
}
}

Expand Down

0 comments on commit 12daed4

Please sign in to comment.