Docker 1.3 fails to start on RHEL6.5

robbin picture robbin · Nov 30, 2014 · Viewed 16k times · Source

I had earlier followed https://docs.docker.com/installation/rhel/ to install docker on rhel6.5. 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.

-bash-4.1$ sudo /etc/init.d/docker status
           docker dead but pid file exists

Contents of /var/log/docker:

-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; grap
 hdriver: 
 [dd907331] +job serveapi(unix:///var/run/docker.sock)
 [info] WARNING: You are running linux kernel version 2.6.32-431.el6.x86_64, whic
 h 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 lin
 k time reference

I don't have an option to upgrade to rhel7 yet, and have already tried to

  • yum downgrade - but yum list doesn't list the older version anymore
  • compile the older docker source, but docker doesn't let you build a binary anymore without the docker binary installed :(

Answer

Todd picture Todd · Nov 30, 2014

/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 ran into this at work this week (also on RHEL6.5). I believe the lib-device-mapper that you have isn't exporting a symbol ("Base") that Docker needs. I solved this by upgrading lib-device-mapper to version 1.02.90.

You may have to enable the public_ol6_latest repo in order to get this package.

sudo yum-config-manager --enable public_ol6_latest

And then install the package:

sudo yum install device-mapper-event-libs