ContainerCollection.run sets tag to "latest" if not set.#2656
Closed
dan-hipschman wants to merge 1 commit intodocker:masterfrom
Closed
ContainerCollection.run sets tag to "latest" if not set.#2656dan-hipschman wants to merge 1 commit intodocker:masterfrom
dan-hipschman wants to merge 1 commit intodocker:masterfrom
Conversation
Signed-off-by: Dan Hipschman <dan.hipschman@opendoor.com>
Contributor
|
Thank you for this PR but I think a better way to fix this is in #2671 as this issue is a side effect of missing a default for tag in the pull method. |
Author
I prefer your approach of making the default of |
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.
This fixes issue #2545.
The issue is when you call
client.containers.run("some-image")andsome-image:latestdoesn't exist locally.runwill callImageCollection.pullwithout passing a tag:docker-py/docker/models/containers.py
Lines 808 to 814 in 2b1c7eb
Since the tag doesn't exist,
pullwill pull all tags from the repository:docker-py/docker/models/images.py
Lines 398 to 403 in 2b1c7eb
This behavior of
runseems unintuitive since it will only run thelatestimage and the rest are not needed.This patch only modifies
run. I felt like it might be preferable forpullto mimicdocker pull, and only pull all tags if the user explicitly asks for that with a keyword arg likeall=True. However, the current behavior ofpullis documented, so that would be a major breaking change.I also considered whether
ContainerCollection.createshould append thelatesttag if there was none, but its current behavior is also documented. Hence, only updatingrunseems like the safest approach.