私は以前https://docs.docker.com/installation/rhel/rhel6.5 に docker をインストールします。これは今日まで機能していましたが、「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 ダウングレード - しかし、yum リストには古いバージョンが表示されません
- 古い docker ソースをコンパイルしますが、docker バイナリがインストールされていないと、docker ではバイナリをビルドできなくなりました :(
ベストアンサー1
/usr/bin/docker: 再配置エラー: /usr/bin/docker: シンボル dm_task_get_info_with_deferred_remove、バージョン Base がリンク時参照のファイル libdevmapper.so.1.02 で定義されていません
今週、仕事中にこの問題に遭遇しました (RHEL6.5 でも発生しました)。使用している lib-device-mapper が Docker に必要なシンボル (「Base」) をエクスポートしていないのではないかと思います。lib-device-mapper をバージョン 1.02.90 にアップグレードすることでこの問題を解決しました。
public_ol6_latest
このパッケージを取得するには、リポジトリを有効にする必要がある場合があります。
sudo yum-config-manager --enable public_ol6_latest
次にパッケージをインストールします:
sudo yum install device-mapper-event-libs