Docker 1.3 не запускается на RHEL6.5

Ранее я следовал https://docs.docker.com/installation/rhel/, чтобы установить Docker на rhel6.5. . Раньше это работало до сегодняшнего дня, пока я не решил запустить «yum update» и не обновился до docker1.3.

Теперь запуск /etc/init.d/docker завершается с ошибкой.

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

Содержимое /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

У меня пока нет возможности обновиться до rhel7, и я уже пытался

  • yum downgrade - но в списке yum больше нет старой версии
  • скомпилируйте старый исходный код докера, но докер больше не позволяет вам создавать двоичный файл без установленного двоичного файла докера :(

person robbin    schedule 30.11.2014    source источник


Ответы (4)


/usr/bin/docker: ошибка перемещения: /usr/bin/docker: символ dm_task_get_info_with_deferred_remove, база версии не определена в файле libdevmapper.so.1.02 со ссылкой на время ссылки

Я столкнулся с этим на работе на этой неделе (также на RHEL6.5). Я считаю, что имеющийся у вас lib-device-mapper не экспортирует символ («Base»), который нужен Docker. Я решил это, обновив lib-device-mapper до версии 1.02.90.

Возможно, вам придется включить репозиторий public_ol6_latest, чтобы получить этот пакет.

sudo yum-config-manager --enable public_ol6_latest

Затем установите пакет:

sudo yum install device-mapper-event-libs

person Todd    schedule 30.11.2014
comment
Спасибо, Тодд, я заметил обсуждение в блоге докеров — forums.docker.com/t/. Я не вижу более новой версии device-mapper на yum. Любые указатели, чтобы установить/обновить его? $yum list --showduplicates device-mapper Установленные пакеты device-mapper.x86_64 1.02.79-8.el6 @anaconda-RedHatEnterpriseLinux-201311111358.x86_64/6.5 - person robbin; 30.11.2014
comment
@Robbin - отредактировал мой ответ, чтобы предоставить более точные инструкции о том, где это найти. - person Todd; 01.12.2014
comment
Еще раз спасибо @Todd, я сделал следующее, чтобы обновить устройство-сопоставитель. 1. cd /etc/yum.repos.d 2. wget public-yum. oracle.com/public-yum-ol6.repo 3. wget public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle 4. yum update device-mapper - person robbin; 01.12.2014
comment
Я имел дело с репозиторием, чтобы получить библиотеки, прежде чем перейти к этому решению, спасибо @Robbin за публикацию шагов. - person atejeda; 12.12.2014
comment
Определенно, предложение @robbin сработало, как и ожидалось!!! Спасибо за запись... Это сработало для Docker 1.4.0. - person Marcello de Sales; 30.12.2014
comment
Текущая версия вызывает сбой RHEL 6.5 :( Кто-нибудь сталкивался с полной потерей связи с хостом RHEL 6.5 при монтировании тома ??? - person Marcello de Sales; 31.12.2014
comment
Работал как шарм ;) - person sbeskur; 01.04.2015
comment
в стоковой CentOS 6.5 команды yum-config-manager как будто нет, да и не нужно: yum update будет работать нормально. - person Marco Massenzio; 16.04.2015

Вкратце: в моем случае мне нужно было обновить пакет device-mapper-libs на CentOS/RHEL 6.5. Подробности ниже.

$ yum update -y device-mapper-libs

В RHEL/CentOS 6.5 я получил ту же ошибку при попытке запустить демон докеров:

$ 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 не запускается после обновления для Дебиана.

Для справки здесь была моя среда до «исправления»:

$ 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 успешно запустится:

$ # 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)

Надеюсь это поможет!

person Michael G. Noll    schedule 24.02.2015

Я столкнулся с той же проблемой при установке Docker 1.5 на CentOS 7 на Vagrant/VBox. Обновление DevMapper устранило проблему. Для этого выполните команду:

$ sudo yum update device-mapper
person pcx    schedule 01.04.2015
comment
Я столкнулся с той же проблемой. Пакет Docker ДОЛЖЕН требовать правильной версии dev-mapper. Поэтому я попытаюсь создать проблему для этого. - person Roman Iuvshin; 06.04.2015

Я столкнулся с этой проблемой после установки докера 1.6 в CentOS7 и не могу успешно запустить докер. После

ням установить lvm2

у меня работает в centOS7 :)

Надеюсь, это будет полезно для людей, у которых была такая же проблема в CentOS7.

person Jane    schedule 13.04.2016
comment
Вопрос был связан с RHEL6.5, а не с 7. - person AlexG; 24.11.2016