1. 程式人生 > >查詢docker狀態報錯:docker dead but pid file exists

查詢docker狀態報錯:docker dead but pid file exists

背景

在CentOS 6上為了使用docker,於是升級了核心到3.10版本,然後安裝repo源和docker元件,

yum install epel-release
yum install docker-io

一切都很順利,然後啟動docker服務,以及檢視docker服務狀態,結果報錯了,

[[email protected] run]# service docker start
Starting docker:	                                   [  OK  ]
[[email protected] run]# service docker status
docker dead but pid file exists

原因

其實原因就是device-mapper相關元件的版本過低了,因此需要單獨升級這幾個元件,

yum install -y \
    http://vault.centos.org/6.6/os/x86_64/Packages/device-mapper-libs-1.02.90-2.el6.x86_64.rpm \
    http://vault.centos.org/6.6/os/x86_64/Packages/device-mapper-1.02.90-2.el6.x86_64.rpm  \
    http://vault.centos.org/6.6/os/x86_64/Packages/device-mapper-event-1.02.90-2.el6.x86_64.rpm \
    http://vault.centos.org/6.6/os/x86_64/Packages/device-mapper-event-libs-1.02.90-2.el6.x86_64.rpm 

升級之後再次啟動docker服務,查詢服務,顯示程序正常。

[[email protected] docker]# service docker start
Starting docker:	                                   [  OK  ]
[[email protected] docker]# service docker status
docker (pid  19680) is running...

注:

如果沒有升級device-mapper相關元件,安裝docker後直接執行docker命令啟動程序,則會有以下報錯,

[[email protected]
docker]# docker -d 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

解決方案是一樣的,升級device-mapper相關元件即可。