mirror of https://github.com/docker/compose.git
pull: only skip pull when policy is `missing`/`if_not_present`
Fixes #9773. Signed-off-by: Nick Sieger <nick@nicksieger.com>
This commit is contained in:
parent
6eb34031f6
commit
5723dee316
|
@ -96,15 +96,6 @@ func (s *composeService) pull(ctx context.Context, project *types.Project, opts
|
||||||
})
|
})
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
default:
|
|
||||||
if _, ok := images[service.Image]; ok {
|
|
||||||
w.Event(progress.Event{
|
|
||||||
ID: service.Name,
|
|
||||||
Status: progress.Done,
|
|
||||||
Text: "Skipped - Image is already present locally",
|
|
||||||
})
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if s, ok := imagesBeingPulled[service.Image]; ok {
|
if s, ok := imagesBeingPulled[service.Image]; ok {
|
||||||
|
|
|
@ -131,6 +131,13 @@ func TestComposePull(t *testing.T) {
|
||||||
|
|
||||||
assert.Assert(t, strings.Contains(output, "simple Pulled"))
|
assert.Assert(t, strings.Contains(output, "simple Pulled"))
|
||||||
assert.Assert(t, strings.Contains(output, "another Pulled"))
|
assert.Assert(t, strings.Contains(output, "another Pulled"))
|
||||||
|
|
||||||
|
// verify default policy is 'always' for pull command
|
||||||
|
res = c.RunDockerComposeCmd(t, "--project-directory", "fixtures/compose-pull/simple", "pull")
|
||||||
|
output = res.Combined()
|
||||||
|
|
||||||
|
assert.Assert(t, strings.Contains(output, "simple Pulled"))
|
||||||
|
assert.Assert(t, strings.Contains(output, "another Pulled"))
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Verify a image is pulled once", func(t *testing.T) {
|
t.Run("Verify a image is pulled once", func(t *testing.T) {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
services:
|
services:
|
||||||
simple:
|
simple:
|
||||||
image: alpine:3.13.12
|
image: alpine:3.13.12
|
||||||
|
pull_policy: missing
|
||||||
command: top
|
command: top
|
||||||
|
|
Loading…
Reference in New Issue