Upgrading Docker To Current Version on CentOS

Hi guys, I’m running Docker version 1.1.2, build d84a070/1.1.2 on CentOS 6.5 and am looking to upgrade/update to the latest version, being Docker version 1.3.1. In the EPEL repository, the most recent version is 1.2.0, so I cannot upgrade via a packager manager as far as I know. So how exactly can I upgrade Docker 1.1.2 to 1.3.1 on my CentOS server? Thanks in advance!

1 Like

I am having the same issue. I’m on CentOS 6.6 and get the older version 1.2.
Any update on this would be greatly appreciated.

I’m also curious why this isn’t an issue for others.

TIA!

Hello!

I’m not sure what the epel docker-io package maintainer’s timeframe is to make 1.3.1 available for el6.

It looks like the epel-testing repository currently has a docker 1.3.1 rpm for el6: https://dl.fedoraproject.org/pub/epel/testing/6/x86_64/docker-io-1.3.1-2.el6.x86_64.rpm

Thanks!

Hi, I’ll be posting a new version in a bit. There were some troubles with the last update (in the comments here: https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-3800/docker-io-1.3.1-2.el6?_csrf_token=4d86e3221e648fea5ba65fe9173a5a47bfb136b4). New update should take care of those.

Once a package lands in testing, it will be quite a few days before it lands in stable, I think it’s 2 weeks for el6 :\

Excellent - so if I understand this correctly that means in about 2 weeks 1.3.1 will end up in a place (el6 repository) where we can update via yum and get the new packages? If so Great, and if not let me know where I went wrong! :slight_smile: Thanks guys!

Awesome! looks like it’s ready to be upgraded now.

Is this ok [y/N]: y
Downloading Packages:
docker-io-1.3.1-2.el6.x86_64.rpm | 4.3 MB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : docker-io-1.3.1-2.el6.x86_64 1/2
Cleanup : docker-io-1.2.0-3.el6.x86_64 2/2
Verifying : docker-io-1.3.1-2.el6.x86_64 1/2
Verifying : docker-io-1.2.0-3.el6.x86_64 2/2

Updated:
docker-io.x86_64 0:1.3.1-2.el6

Complete!
[root@dvx-devops-01 ~]# docker version
Client version: 1.3.1
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): c78088f/1.3.1
OS/Arch (client): linux/amd64
Server version: 1.3.1
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): c78088f/1.3.1

Thanks Paul for posting. I can verify as well that the latest package is showing available now and upgraded successfully on my end. Thank you to all!

docker 1.3.2 is available on el6-testing repos. Alternatively, you can get the rpm directly from here: http://koji.fedoraproject.org/koji/buildinfo?buildID=595471 . Please add karma here: https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-4281/docker-io-1.3.2-2.el6 . +3 karma would auto-push to stable (much faster than waiting 2 weeks)

device-mapper with the proper minimal version should be added as dependency to the RPM. docker daemon did not start until I did an upgrade of the device-mapper package manually before.

This used to work till today, till I decided to run “yum update” and upgraded to docker1.3.

Now, /etc/init.d/docker start fails and I get the following error:

-bash-4.1$ more /var/log/docker
\nSun Nov 30 23:29:14 IST 2014\n
2014/11/30 23:29:14 docker daemon: 1.3.1 c78088f/1.3.1; execdriver: native; graphdriver:
[dd907331] +job serveapi(unix:///var/run/docker.sock)
[info] WARNING: You are running linux kernel version 2.6.32-431.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.8.0.
/usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference

@alexanderrobbin - @schneidexe suggested that you need to upgrade your device-mapper package too :slight_smile:

Is it safe to assume that for CentOS 6.5 you need a newer package than device-mapper-1.02.90-2.el6.x86_64? That’s the newest version I’ve found.

(Update: 1.02.90 is in fact the right version for CentOS 6.5.)

@lsm5 why didn’t the docker rpm force the device-mapper package to upgrade too?

I’ve just upgraded to docker 1.3.2-2. I’ve got the package at EPEL testing repository.

I’m using CentOS 6.5 and the docker rpm required me to update the following packages to version 1.02.90-2.el6_6.1:
device-mapper
device-mapper-event
device-mapper-event-libs
device-mapper-libs

After that, docker starts working well.

PS: its a development environment.

For those on CentOS 7.0, the docker 1.3.2 package is still not in EPEL.

To install the latest version, I had to enable the virt7-testing repository temporarily.

[virt7-testing]
name=virt7-testing
baseurl=http://cbs.centos.org/repos/virt7-testing/x86_64/os/
enabled=1
gpgcheck=0

Looks like docker 1.4.0 (currently in epel-testing) is a PITA on el6. In that case, you can get the 1.3.3 rpm from here: https://lsm5.fedorapeople.org/docker-io-1.3.3-1.el6.x86_64.rpm

@sven: not sure why it didn’t pick up 1.02.90-1. I did set docker to upgrade devicemapper too http://pkgs.fedoraproject.org/cgit/docker-io.git/tree/docker-io.spec?h=el6&id=8f557b8ca4a4042648ae7e7120bf01dd66611249#n63 .

Re: docker+devicemapper+el6 there’s this too: bugzilla.redhat.com/show_bug.cgi?id=1173950 (can only put 2 links in a post) which is likely a case of appropriate repos not being enabled on rhel6 (though not sure yet).

The el6 branch could use a lot more love, so if anyone’s interested in co-maintaining/testing the el6 docker-io rpm, please let me know.

@lsm5 I’m interested in the rpm source files being in github - that way we can get a blead rpm test into the release cycle.

I get a Kernel Panic after I installed the device-mapper on RHEL 6.5 and tried to mount a volume in a container (manually or using Fig)

docker/docker/issues/9856

After I updated from Docker 1.2.0 to Docker 1.3.3 or Docker 1.4.0, I couldn’t start a container with a volume… Here’s the same error as others:

[b920e37b] +job serveapi(unix:///var/run/docker.sock)
[info] WARNING: You are running linux kernel version 2.6.32-431.1.2.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.8.0.
/usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference

I followed the steps described at stackoverflow.com/questions/27216473/docker-1-3-fails-to-start-on-rhel6-5 thread:

$ cd /etc/yum.repos.d 
$ wget public-yum.oracle.com/public-yum-ol6.repo 
$ wget public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle 
$ yum update device-mapper

The version installed is the latest one with the updates…

[pppdc9prd6dq mdesales]# rpm -q device-mapper
device-mapper-1.02.90-2.el6_6.1.x86_64

Has anyone experienced that? As described by the Docker issue, the Kernel panics and I can’t use the host…

marcellodesalesm. can’t help you with the kernel panics but thank you so much for posting the device-mapper recipe. yum was not interested in finding that dependency.