4

I have just set up a Docker container with an ubuntu:latest image. This image is, according to /etc/lsb-release an Ubuntu 14.04. Now I would like to upgrade the system in my container to Ubuntu 16.04. Therefore, I have installed the update-manager-core package. However, when I run do-release-upgrade, I just receive the following output:

root@container:~# do-release-upgrade 
Checking for a new Ubuntu release
No new release found

Why doesn't this work at the moment? Will it work at all at some point? What are the most convenient ways in order to upgrade the container from Ubuntu version 14.04 to 16.04? Do I have another possibility than creating a new container with Ubuntu 16.04 and copy all data from the old container to the new container?

4

do-release-upgrade -d is your friend :)

LTS releases do not offer themselves for update until the first point release, usually around june or july.

At least I assume that's the problem. I just upgraded a couple of trusty machines to xenial that way. I don't see why it should be any different under docker, but if it is, please let us know.

  • Thank you, you are correct. This does indeed start the upgrade processs to xenial. I was confused because I had Ubuntu 15.10 on the machine which hosts the docker containers which I could upgrade to 16.04 without the -d flag. and I was convinced that it was a 14.04 until I had a look at the upgrade logs. – 1' OR 1 -- Apr 27 '16 at 19:33
5

For the record - it is not Docker best practice to update your image from within the image, it is suggested that you work from a Dockerfile which you will use to spin up a new image from updated sources which you will make live when it passes your tests, and then decommission the old image. Ultimately you would want to have production images that can not be updated from within the image. Docker is however very flexible and you can use it as you like.

While the above may seem ridiculously overdone, there is a reason behind it: A primary purpose of Docker is however to force your team to document repeatable instructions for creation of an image, and forcing them to do things from a Dockerfile ensures that you are never held hostage by the knowledge of the developer that set it up - and that you are using stable, more reputable sources.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.