-
Notifications
You must be signed in to change notification settings - Fork 172
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
Latest images on docker hub don't contain latest ROS packages #27
Comments
There are new releases of packages every couple of hours in the ROS ecosystem. Since ROS is a distributed project the standard docker hub tools for monitoring repositories to trigger rebuilds doesn't work. The builds on docker hub are just periodic snapshots. |
It's just that some of the package versions are more than 6 months old! For example, roscpp version in the latest indigo-desktop-full docker image is 1.11.13 which was released in May, whereas the latest roscpp version is 1.11.16 released in Nov. I don't know whether that is expected or not, but believe that it shouldn't be the case for docker images built less than a month ago. |
@kartikmohta is this something that would be resolved with the meta package version bump, like specified here? I made a small PR #26 to automate the maintenance. I just checked it again just know (it checks online for current ros package versions) and I didn't observe any version changes. |
Actually the problem is that the ros-base images are part of the docker official images which are not regenerated very often (I think). ros-*-desktop images depend on the ros-base images, so they get the old versions of packages in ros-base images. Also, on the docker hub page for the official ROS images (https://hub.docker.com/_/ros/), it doesn't show when they were built, so there's no way to know how new they are. I pulled ros-indigo-ros-base right now and seems like the image was updated recently since it has updated ROS packages in there. |
Well, looking at the header info for both repos lists that they "Last pushed: 2 days ago". The base image that the official ros repo depends on, ubuntu:14.04, it updated rather regularly (almost weekly). Although docker history on the $ docker pull ros
Using default tag: latest
latest: Pulling from library/ros
Digest: sha256:d93437d7749e6dc396f8ce948eee1b737be6c1d1e5869d2d4c3bad9919c27dc4
Status: Image is up to date for ros:latest
$ docker history ros
IMAGE CREATED CREATED BY SIZE COMMENT
24ebf5532804 8 days ago /bin/sh -c apt-get update && apt-get install 14.46 MB
ab31c0fa91fd 8 days ago /bin/sh -c #(nop) MAINTAINER Dirk Thomas dtho 0 B
2dd56b814a75 8 days ago /bin/sh -c #(nop) CMD ["bash"] 0 B
daa6642c85a7 8 days ago /bin/sh -c #(nop) ENTRYPOINT &{["/ros_entrypo 0 B
6ca21ec334c4 8 days ago /bin/sh -c #(nop) COPY file:5e239e5268e921076 95 B
80f5f1bda9dc 8 days ago /bin/sh -c apt-get update && apt-get install 531.2 MB
175c23c23c9a 8 days ago /bin/sh -c rosdep init && rosdep update 1.627 MB
ffd62193e6a0 8 days ago /bin/sh -c apt-get update && apt-get install 89.89 MB
497eaee16f64 8 days ago /bin/sh -c #(nop) ENV ROS_DISTRO=indigo 0 B
17d6beedb4e1 8 days ago /bin/sh -c echo "deb http://packages.ros.org/ 51 B
d8addcf153a4 8 days ago /bin/sh -c apt-key adv --keyserver ha.pool.sk 25.83 kB
07c80fb1909a 8 days ago /bin/sh -c #(nop) ENV LANG=en_US.UTF-8 0 B
e19b67a7b142 8 days ago /bin/sh -c locale-gen en_US.UTF-8 1.621 MB
6d9a22b8f5d2 8 days ago /bin/sh -c #(nop) MAINTAINER Dirk Thomas dtho 0 B
c4bea91afef3 8 days ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B
d9e545b90db8 8 days ago /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$/ 1.895 kB
4cdc0cbc1936 8 days ago /bin/sh -c echo '#!/bin/sh' > /usr/sbin/polic 194.5 kB
fcee8bcfe180 8 days ago /bin/sh -c #(nop) ADD file:482777a8ad62044151 187.7 MB There is a cascading problem (that the official docker repos do not suffer from, but non official automated repos do) that results in child tags being built from parent tags from the previous generation, e.g. the If you really need up-to-date desktop images, you could make your own automated repo that points to the official ros repo directly, and do a chain of triggering automated repos for any rigorous hierarchy. It just gets tricky to get away with hierarchy of tags like in the official repos. Short of setting of a third party CLI to build and push the images, I'm not sure how to resolve this with docker hub just yet. I'll search for a ticket, and submit one if I don't already find a similar dockerhub feature request. We revisited this over in related issue NVIDIA/nvidia-docker#18. If you having thoughts on it, let me know. |
I've added a "Compare Images" link to each repo listed in the readme, here is the one for
But anyhow, @kartikmohta are you still experiencing old packages in fresh pulls of |
I've set up our CI system to run a |
@ruffsl It seems that it's still an issue, I guess the problem right now is that the ubuntu repo hasn't rebuilt in a while:
leading to the ros repos not rebuilding and so on... I guess I'll keep the |
I guess I could see why they might like to keep the official ubuntu image calm for a while unless a change is required, otherwise more than a half of Docker Hub would be thrown into a rebuild, a non-trivial load and not to be triggered lightly. My suggestion would be in perhaps use the If you roping in a number of packages that are basically as large as |
Well I created the issue since the version of |
Ok @kartikmohta , thanks for the feedback! When Docker Hup improves the automate build process, I'll try and fix lagging osrf/ros tags as well. |
Docker hub (https://hub.docker.com/r/osrf/ros/builds/) shows that the latest builds were created 23 days ago (Dec 3) but after launching the indigo-desktop-full image and running
apt-get update && apt-get dist-upgrade
, a lot of ROS packages are marked for upgrade, for example:I would have expected that the latest images on docker hub would contain latest versions of all the included ROS packages (as of the image date), is that not correct?
The text was updated successfully, but these errors were encountered: