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
本文解决了一个在CentOS7上安装Docker时遇到的错误:符号dm_task_get_info_with_deferred_remove未定义的问题。通过更新lvm2和device-mapper组件解决了该问题,并强调了正确的更新顺序。
2126

被折叠的 条评论
为什么被折叠?



