Announcing ROS Docker Images for ARM and Debian

In regards to controlling how ROS syncs are released into the building of docker images, the safeguard this far has been pinning the installed ROS packages by version number. However, from the looks of things, with the ABI brake from July, but the last version bump in the indigo dockerfile being from back in May [1], seems that didn’t stop it due to implicit dependency changes in the sync?

As @marguedas mentioned, the triggers for rebuilding the official images are either merged PRs to the official library manifest (pertinent to the image:tag desired), or a rebuild of a parent base image, like the official debian or ubuntu images.

We can also ask the library maintainers directly to simply manually trigger a rebuild of the images, say by way ticketing a request on the library github repo. I’ve done so before a number of times.

@flixr, I think you may find it useful to know that past images of Official Library images are archived on the docker registry and can be retrieved. As for longevity of such archives, I don’t yet know what it is (haven’t checked), but they seem to go back quite a ways in time. This can be done by pulling the image by its digest (immutable identifier) [2]:

docker pull ros@sha256:<older_ros_sha256_here>

If you have an older image laying around, you can use the docker CLI to retrieve the digest (I haven’t found a good way to retrieve the archived list of available digests for a given repo from the docker registry as of yet, but would like to know [3][4]). If your CI is sensitive to ROS syncs, pinning the digest of the image in your dockerfiles may be a way to mitigate unplanned disruptions. Just be aware that the FROM images would then be static, and would not receive the latest security updates from upstream like generally tracked tags.

[1] Blaming docker_images/ros/indigo/ubuntu/trusty/ros-core/Dockerfile at ecf2b15a56686c6c7d3fc710c1753cfe3e5e9067 · osrf/docker_images · GitHub
[2] docker pull | Docker Docs
[3] https://github.com/docker/distribution/blob/master/docs/spec/api.md#content-digests
[4] Get image digest from remote registry via API - Open Source Registry API - Docker Community Forums