Skip to content
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

Deprecation of image formats in older published images #16997

Open
zakame opened this issue Jun 17, 2024 · 4 comments
Open

Deprecation of image formats in older published images #16997

zakame opened this issue Jun 17, 2024 · 4 comments

Comments

@zakame
Copy link
Contributor

zakame commented Jun 17, 2024

Hello, first off - thanks for continually supporting the Docker community!

Let me share about Perl/docker-perl#161 - it seems that official image versions from 9 years ago and older are now unavailable for new registry pulls. We noticed it for Perl 5.14, but it also affects other languages too:

$ docker pull perl:5.14
5.14: Pulling from library/perl
[DEPRECATION NOTICE] Docker Image Format v1 and Docker Image manifest version 2, schema 1 support is disabled by default and will be removed in an upcoming release. Suggest the author of docker.io/library/perl:5.14 to upgrade the image to the OCI Format or Docker Image manifest v2, schema 2. More information at https://docs.docker.com/go/deprecated-image-specs/

$ docker pull python:2.7.9-wheezy
2.7.9-wheezy: Pulling from library/python
[DEPRECATION NOTICE] Docker Image Format v1 and Docker Image manifest version 2, schema 1 support is disabled by default and will be removed in an upcoming release. Suggest the author of docker.io/library/python:2.7.9-wheezy to upgrade the image to the OCI Format or Docker Image manifest v2, schema 2. More information at https://docs.docker.com/go/deprecated-image-specs/

$ docker pull node:0.12.2
0.12.2: Pulling from library/node
[DEPRECATION NOTICE] Docker Image Format v1 and Docker Image manifest version 2, schema 1 support is disabled by default and will be removed in an upcoming release. Suggest the author of docker.io/library/node:0.12.2 to upgrade the image to the OCI Format or Docker Image manifest v2, schema 2. More information at https://docs.docker.com/go/deprecated-image-specs/

What's the general stance of official-images regarding this? Considering that these are all already unsupported by their respective communities, would it still make sense for Docker Hub to publish them? Or can there be something that helps transitioning the older image formats used in these older images to use the newest/supported manifest format (ideally without necessitating a full rebuild?)

@tianon
Copy link
Member

tianon commented Jun 17, 2024

Thank you for filing the issue. 🙇 ❤️

We had a recent discussion about this in docker-library/php#1522, and I'll copy my very relevant response here:

Unfortunately, this is a little complicated. I think docker/roadmap#173 is the roadmap issue for Docker at large, but some of the complexities for DOI are that we don't want to just "pull, convert, push" all these old images and have them show up as "updated", so ideally a solution here needs to happen without updating timestamps and that isn't something we can accomplish on our own. 🙇

Thank you for raising this though (and the user interest in it). ❤️

@zakame
Copy link
Contributor Author

zakame commented Jun 18, 2024

Thanks @tianon 👍 I agree with all points - I'd add that this is probably the sort of thing Docker Inc. could have made some prior official announcements, especially since a hint of this issue was already seen since 2021 and perhaps even earlier here in Perl/docker-perl#70.

@grooverdan
Copy link
Contributor

FYI I got the same request: https://jira.mariadb.org/browse/MDEV-35114

@tianon
Copy link
Member

tianon commented Dec 20, 2024

Ideally, we'd love to be able to convert these in-place on Docker Hub, but there's a lot of complexity in doing so that currently prevents the possibility.

If you have a tool which does not support schema1 and you still need to work with these older images, I have written https://github.com/tianon/oci-schema1 to help perform the conversion without any runtime support (bash + jq + a little crane).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants