Docker-node: What is the working group's policy about re-building image tags?

Created on 4 Jan 2021  路  7Comments  路  Source: nodejs/docker-node

Hi folks,

Due to the fact that there is no public data on Docker Hub to tell me how often, or the history of all builds/pushes that were sent for a given tag, I was wondering if you could shed light on this question.

For example, I assume that an image tag such as node:lts gets rebuilt and pushed very often as it is a very generic alias.
However, if we take a more specific Node.js version and its associated OS, such as node:14.2.0-stretch-slim - specifically for that image tag, did it get built and pushed only once? or did it happen more than once? if so, I assume due to the stretch-slim related updates that needed to rebuild this image, but I'd like to check-in with you.

Thanks in advance, and hope you're all having a great start for the new year 馃

All 7 comments

We don't rebuild anything, that is done by the official images when the base image changes https://github.com/docker-library/official-images#library-definition-files

Thanks for the quick reply folks 馃檹

It took quite a bit of late night searching but I found a few SHAs that are all for the following image tag node:14.2.0-buster-slim:

$ docker pull node@sha256:a686e228db0f0766672a63d8d90e8350629457b880659c2d13c975991a8ae75f
$ docker pull node@sha256:f36b6a4c747ac9558dc3857f90087f09b17423d14e2da98e795785bd860048eb
$ docker pull node@sha256:460fd75d21c1a41dc15de1e336ad0b503eb9eb7a7223973b280ae03ef24ba6ac
$ docker pull node@sha256:c57ef4b3570a7d61f36a3adb13dd92ffcb84cd6c1125c9244e03ea10248a07ad

And these are the ones that I did find, maybe there are others. So that image tag got built at least 4 times.

I thought at first that there would be little to no chances that such a specific image tag would get rebuilt and pushed but apparently, the chances aren't that little.

Docker Hub has no ability to show the history of builds for a specific image tag and it is unrealistic to actually find it from commit logs. I'm wondering if you can think of a better way to get that information or this is just the way it is?

See https://github.com/docker-library/repo-info/commits/master/repos/node/remote/14.2.0-buster-slim.md for the full lifecycle of that (now unsupported and unmaintained) specific tag.

I found out that the 4 SHAs belong to 2 different archs, so they're not exactly same builds. Still need to dig into why there are 2 builds there. Will update if find anything else on this.

node@sha256:d67df4732a143a1407c395ea1c4a1622519ce9ebbe9592d447e487e1eb709407
node@sha256:c57ef4b3570a7d61f36a3adb13dd92ffcb84cd6c1125c9244e03ea10248a07ad
node@sha256:460fd75d21c1a41dc15de1e336ad0b503eb9eb7a7223973b280ae03ef24ba6ac
node@sha256:9b55fc2a82c6a8d917adfaee179375006db26d7526ac7576225b24579791e24b
node@sha256:5dcc86cbf6d66adae19c7d667ccc542722689f2a55b8c722cd4727f9cdc0b3d2
node@sha256:ddc244b6cd67202c5397c24e128ad5ff81461652a49d0f780bc95b9d4b74c912
node@sha256:8faad6e8a2de6aea1a84d7a2571351566768015a0a0868649a8dbea79e7350ae
node@sha256:83daf127c2bc8b44bdca32774aee1b24cf42bc167fabeb15ef684b817a87cacc

(Every single manifest list that was ever pushed as node:14.2.0-buster-slim for the month of May where it existed as a supported tag.)

Edit: the methodology for generating this list was cloning https://github.com/docker-library/repo-info locally and running git log -p -- repos/node/remote/14.2.0-buster-slim.md | grep -EB4 '^\+\$ docker pull' | grep -EA4 'slim`$' | grep -E '^\+\$ docker pull' | cut -d' ' -f4

Thanks @tianon, that's very helpful

Was this page helpful?
0 / 5 - 0 ratings

Related issues

polys picture polys  路  3Comments

frankbaele picture frankbaele  路  3Comments

sam-github picture sam-github  路  4Comments

retrohacker picture retrohacker  路  3Comments

danbev picture danbev  路  3Comments