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 больше не перечисляет более старую версию
- скомпилируйте старый источник докеров, но докер не позволяет вам строить двоичный файл без установленного двоичного файла docker: (
Ответы
Ответ 1
/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
Ответ 2
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 не запускается после обновления для Debian.
Для справки здесь была моя среда до "fix":
$ 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)
Надеюсь, это поможет!
Ответ 3
Я столкнулся с такой же проблемой при установке Docker 1.5 на CentOS 7 на Vagrant/VBox. Устранение проблемы с DevMapper. Для этого запустите команду:
$ sudo yum update device-mapper
Ответ 4
Я встретил эту проблему после установки docker 1.6 в centOS7 и не смог успешно запустить docker. После
yum install lvm2
он работает для меня в centOS7:)
Надеюсь, это полезно для людей, у которых была такая же проблема в centOS7.