web-dev-qa-db-ja.com

RHEL6.5でDocker 1.3が起動しない

私は以前に https://docs.docker.com/installation/rhel/ に従ってrhel6.5にdockerをインストールしていました。これは、「yum update」を実行してdocker1.3にアップグレードするまで、今日まで機能していました。

現在、/ etc/init.d/docker startは失敗します。

-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ダウングレード-しかし、yumリストは古いバージョンをリストしません
  • 古いDockerソースをコンパイルしますが、Dockerでは、Dockerバイナリをインストールせずにバイナリをビルドできません:(
21
robbin

/ usr/bin/docker:再配置エラー:/ 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

今週仕事でこれに遭遇しました(RHEL6.5でも)。あなたが持っているlib-device-mapperは、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

45
Todd

TL; DR:私の場合、CentOS/RHEL 6.5でパッケージdevice-mapper-libsをアップグレードする必要がありました。詳細は以下。

$ 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

トラブルシューティング中に、Debianのディスカッション 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-libslibdevmapper 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)

お役に立てれば!

17
Michael G. Noll

Vagrant/VBox上のCentOS 7にDocker 1.5をインストールするときにも同じ問題に直面しました。 DevMapperをアップグレードすると問題が修正されました。そのためには、次のコマンドを実行します。

$ Sudo yum update device-mapper
4
pcx

CentOS7にdocker 1.6をインストールした後でこの問題に遭遇し、dockerを正常に実行できません。後

yum install lvm2

centOS7で動作します:)

これがcentOS7で同じ問題を抱えていた人々に役立つことを願っています。

0
Jane