TL; DR: В моем случае мне нужно обновить пакет device-mapper-libs
на CentOS/RHEL 6.5. Подробности ниже.
$ yum update -y device-mapper-libs
На RHEL/CentOS 6.5, я получил ту же ошибку при попытке запустить демон Docker:
$ docker -d
INFO[0000] +job serveapi(unix:///var/run/docker.sock)
INFO[0000] 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.
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
Хотя устранение неполадок я наткнулся на обсуждение docker.io: docker does't run after upgrade для Debian.
Для справки здесь было мое окружение перед "исправить":
$ uname -a
Linux build1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release
CentOS release 6.5 (Final)
Перед обновлением device-mapper-libs
был в версии 1.02.79
. В отчете об ошибке Debian, указанном выше, было указано, что Docker 1.4.1 (который отличается от того, о чем спрашивал оригинальный плакат) компилируется в отношении более новой версии device-mapper-libs
(libdevmapper 2:1.02.90-1
), обратите внимание, что имя пакета в Debian другой).
$ yum info device-mapper-libs
Installed Packages
Name : device-mapper-libs
Arch : x86_64
Version : 1.02.79
Release : 8.el6
<...snip...>
Обновление device-mapper-libs
исправлена проблема:
$ yum update -y device-mapper-libs
# Yep, the package was updated to the latest version (1.02.90)
$ rpm -qi device-mapper-libs
Name : device-mapper-libs Relocations: (not relocatable)
Version : 1.02.90 Vendor: CentOS
Release : 2.el6_6.1 Build Date: Wed 26 Nov 2014
<...snip...>
После завершения обновления, докер демон начнет успешно:
$ # docker -d
INFO[0000] +job serveapi(unix:///var/run/docker.sock)
INFO[0000] 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.
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
INFO[0000] +job init_networkdriver()
INFO[0000] -job init_networkdriver() = OK (0)
INFO[0000] Loading containers: start.
INFO[0000] Loading containers: done.
INFO[0000] docker daemon: 1.4.1 5bc2ff8/1.4.1; execdriver: native-0.2; graphdriver: devicemapper
INFO[0000] +job acceptconnections()
INFO[0000] -job acceptconnections() = OK (0)
Надеется, что это помогает!
Спасибо Тодд, я заметил дискуссию на блоге докера - https://forums.docker.com/t/upgrading-docker-to-current-version-on-centos/340/9. Я не вижу более новую версию device-mapper на yum. Любые указатели на установку/обновление? $ списка ня --showduplicates устройства картограф Установленных пакеты устройство mapper.x86_64 1.02.79-8.el6 @ анаконда-RedHatEnterpriseLinux-201311111358.x86_64/6,5 – robbin
@Robbin - ред моего ответа, чтобы обеспечить более точные указания на где это можно найти. – Todd
Еще раз спасибо @Todd, я сделал следующее, чтобы обновить device-mapper. 1. cd /etc/yum.repos.d 2. wget http://public-yum.oracle.com/public-yum-ol6.repo 3. wget http://public-yum.oracle. com/RPM-GPG-KEY-oracle-ol6 -O/etc/pki/rpm-gpg/RPM-GPG-KEY-oracle 4. yum update device-mapper – robbin