On CentOS7, I installed docker using script, and manually added docker.service and docker.socket into /etc/systemd/system
, I get the error when using systemctl start docker
/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 link time reference
The solution is
1. update lvm2
2. update device-mapper
Order is important!!! If you try to update device-mapper
before lvm2
, you will likely to get the error
Transaction check error:
file /usr/lib/systemd/system/blk-availability.service from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
file /usr/sbin/blkdeactivate from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
file /usr/share/man/man8/blkdeactivate.8.gz from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
Reference:
https://github.com/docker/docker/issues/12108
https://bugzilla.redhat.com/show_bug.cgi?id=1207839