-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to implement reproducible deployments if images are getting rebuilt? #12277
Comments
Yeah, We maintain the https://github.com/docker-library/repo-info repository which is an attempt to track the history of tag changes over time (from which you can find the digest of older versions of tags). For the tag you referenced ( $ docker pull neo4j@sha256:9c2f5f60c09442be8b51fceab0df9704bbee50ff534a939fe9d369270ff32b5e
$ docker pull neo4j@sha256:f41acf08483b7e59cf76d7faabd90d7cae01bd6d606a2b35b46183295957a3f5 In Docker (and container registries in general), the image digest is "content addressable" -- that is to say, it's designed for the use case you describe. If I pull There are also tools that are designed to help maintain those digests in your |
I'm going to close this (as it's resolved), but I do plan to leave it pinned since I think it's useful clarification. 🙂 |
You can read more about the context of this request on neo4j/docker-neo4j#342, but in a nutshell:
neo4j:4.2.8
during summer 2021, and caches it in an internal registry4.2.8
is not latest, it's still supported by the vendorAt first I thought the problem was specific to the neo4j image and its library file in particular, wherein all the versions supported by the vendor are listed to get rebuilt: "OK to get rolling tags like
4
or4.4
to be automatically re-built, but point version? That's a bit unexpected"But then I took a look around inside library/, and realized that it seems to be a common practice to list point versions to be re-built; now, not all the point versions are usually listed there, just the most recent one it seems, but my concern is still valid i.e. pulling an image today or in 3 months might result in a different image altogether.
So, going back to the title of this issue: how can users implement reproducible deployments, if the images they are linking to are getting rebuilt? Are there any best practices around this topic, that this repository is trying to enforce, or is it up to the upstream/vendor to decide the update policy for each of their tags?
Thanks in advance,
M.
The text was updated successfully, but these errors were encountered: