Pull images used in volumes with type=image#13811
Open
Divyanshupandey007 wants to merge 1 commit into
Open
Conversation
When running 'docker compose pull', images referenced in volume mounts with type=image were not being pulled. The pull() function only iterated service images, while pullRequiredImages() (used by 'docker compose up') already handled volume images. This adds the same volume image discovery logic to the pull() function, so that 'docker compose pull' also pulls images used in type=image volume mounts. Fixes docker#13809 Signed-off-by: Divyanshu Pandey <pandey.divyanshu03@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
When running
docker compose pull, images referenced in volume mounts withtype=imagewere not being pulled. Only the main service images (service.Image)were considered.
The
pullRequiredImages()function (used bydocker compose up) already handledthis case by iterating through service volumes and creating fake
ServiceConfigentries for volume images. However, the
pull()function (used bydocker compose pull)did not have this logic.
This adds the same volume image discovery to the
pull()function so thatdocker compose pullalso pulls images referenced intype=imagevolume mounts.Changes
pkg/compose/pull.go: Added a loop inpull()that iterates each service'svolumes, checks for
type=image, deduplicates againstimagesBeingPulled, andqueues them for pulling via
pullServiceImage().How to test
Fixes #13809