Running Docker on Linux Kernel 2.6.x

Installing Docker on Linux Kernel 2.6.x is quite unstable. Docker Inc. recommends using Linux Kernel 3.x.x to have smooth Docker functionality. I had OS images, software and applications running on one of RHEL 6.5 box and hence I tried installing Docker on RHEL 6.5. While I tried installing, it threw error saying:

[root@collabnix ~]# docker -d
WARN[0000] 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.10.0.
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference

To fix this issue, I followed the following steps:

[root@collabnix ~]# yum-config-manager –enable public_ol6_latest
Loaded plugins: fastestmirror, refresh-packagekit

[root@collabnix ~]# yum install device-mapper-event-libs
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: centos-hcm.viettelidc.com.vn
* epel: epel.mirror.net.in
* extras: centos-hcm.viettelidc.com.vn
* updates: centos-hn.viettelidc.com.vn
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package device-mapper-event-libs.x86_64 0:1.02.79-8.el6 will be updated
–> Processing Dependency: device-mapper-event-libs = 1.02.79-8.el6 for package: device-mapper-event-1.02.79-8.el6.x86_64
—> Package device-mapper-event-libs.x86_64 0:1.02.95-3.el6_7.4 will be an update
–> Running transaction check
—> Package device-mapper-event.x86_64 0:1.02.79-8.el6 will be updated
—> Package device-mapper-event.x86_64 0:1.02.95-3.el6_7.4 will be an update
–> Processing Dependency: device-mapper = 1.02.95-3.el6_7.4 for package: device-mapper-event-1.02.95-3.el6_7.4.x86_64
–> Running transaction check
—> Package device-mapper.x86_64 0:1.02.79-8.el6 will be updated
–> Processing Dependency: device-mapper = 1.02.79-8.el6 for package: device-mapper-libs-1.02.79-8.el6.x86_64
—> Package device-mapper.x86_64 0:1.02.95-3.el6_7.4 will be an update
–> Running transaction check
—> Package device-mapper-libs.x86_64 0:1.02.79-8.el6 will be updated
—> Package device-mapper-libs.x86_64 0:1.02.95-3.el6_7.4 will be an update
–> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
device-mapper-event-libs x86_64 1.02.95-3.el6_7.4 updates 118 k
Updating for dependencies:
device-mapper x86_64 1.02.95-3.el6_7.4 updates 176 k
device-mapper-event x86_64 1.02.95-3.el6_7.4 updates 124 k
device-mapper-libs x86_64 1.02.95-3.el6_7.4 updates 223 k

Transaction Summary
================================================================================
Upgrade 4 Package(s)

Total download size: 642 k
Is this ok [y/N]: y
Downloading Packages:
(1/4): device-mapper-1.02.95-3.el6_7.4.x86_64.rpm | 176 kB 00:02
(2/4): device-mapper-event-1.02.95-3.el6_7.4.x86_64.rpm | 124 kB 00:02
(3/4): device-mapper-event-libs-1.02.95-3.el6_7.4.x86_64 | 118 kB 00:01
(4/4): device-mapper-libs-1.02.95-3.el6_7.4.x86_64.rpm | 223 kB 00:01
——————————————————————————–
Total 56 kB/s | 642 kB 00:11
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : device-mapper-1.02.95-3.el6_7.4.x86_64 1/8
Updating : device-mapper-libs-1.02.95-3.el6_7.4.x86_64 2/8
Updating : device-mapper-event-libs-1.02.95-3.el6_7.4.x86_64 3/8
Updating : device-mapper-event-1.02.95-3.el6_7.4.x86_64 4/8
Cleanup : device-mapper-event-1.02.79-8.el6.x86_64 5/8
Cleanup : device-mapper-event-libs-1.02.79-8.el6.x86_64 6/8
Cleanup : device-mapper-1.02.79-8.el6.x86_64 7/8
Cleanup : device-mapper-libs-1.02.79-8.el6.x86_64 8/8
Verifying : device-mapper-libs-1.02.95-3.el6_7.4.x86_64 1/8
Verifying : device-mapper-event-libs-1.02.95-3.el6_7.4.x86_64 2/8
Verifying : device-mapper-1.02.95-3.el6_7.4.x86_64 3/8
Verifying : device-mapper-event-1.02.95-3.el6_7.4.x86_64 4/8
Verifying : device-mapper-1.02.79-8.el6.x86_64 5/8
Verifying : device-mapper-event-libs-1.02.79-8.el6.x86_64 6/8
Verifying : device-mapper-event-1.02.79-8.el6.x86_64 7/8
Verifying : device-mapper-libs-1.02.79-8.el6.x86_64 8/8

Updated:
device-mapper-event-libs.x86_64 0:1.02.95-3.el6_7.4

Dependency Updated:
device-mapper.x86_64 0:1.02.95-3.el6_7.4
device-mapper-event.x86_64 0:1.02.95-3.el6_7.4
device-mapper-libs.x86_64 0:1.02.95-3.el6_7.4

Complete!

[root@csewiki ~]# service docker start
Starting docker: [ OK ]
[root@csewiki ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

Hope this post helps you get Docker running on Linux Kernel 2.6.x.

Leave a Reply

Your email address will not be published. Required fields are marked *