docker-library / official-images

Primary source of truth for the Docker "Official Images" program
https://hub.docker.com/u/library
Apache License 2.0
6.46k stars 2.34k forks source link

Deprecation of image formats in older published images #16997

Open zakame opened 3 months ago

zakame commented 3 months ago

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

Let me share about https://github.com/Perl/docker-perl/issues/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 commented 3 months ago

Thank you for filing the issue. :bow: :heart:

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

Unfortunately, this is a little complicated. I think https://github.com/docker/roadmap/issues/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. :bow:

Thank you for raising this though (and the user interest in it). :heart:

zakame commented 3 months ago

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 https://github.com/Perl/docker-perl/issues/70.

grooverdan commented 1 day ago

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