TL; DR: Trong trường hợp của tôi, tôi cần thiết để nâng cấp gói device-mapper-libs
trên CentOS/RHEL 6.5. Chi tiết bên dưới.
$ yum update -y device-mapper-libs
On RHEL/CentOS 6.5, tôi nhận được lỗi tương tự khi cố gắng chạy daemon 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
Trong khi xử lý sự cố Tôi đã xem qua các cuộc thảo luận docker.io: docker does't run after upgrade dành cho Debian.
Để tham khảo ở đây là môi trường của tôi trước khi "sửa chữa":
$ 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)
Trước khi nâng cấp device-mapper-libs
đang ở phiên bản 1.02.79
. Trong báo cáo lỗi Debian được liên kết ở trên, nó đã được chỉ ra rằng Docker 1.4.1 (là một phiên bản khác so với những gì các poster ban đầu được hỏi về) được biên dịch với một phiên bản mới hơn của device-mapper-libs
(libdevmapper 2:1.02.90-1
, lưu ý rằng tên gói trong Debian là khác nhau).
$ yum info device-mapper-libs
Installed Packages
Name : device-mapper-libs
Arch : x86_64
Version : 1.02.79
Release : 8.el6
<...snip...>
Đang cập nhật device-mapper-libs
cố định vấn đề:
$ 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...>
Sau khi cập nhật xong, daemon Docker sẽ bắt đầu thành công:
$ # 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)
Hope this helps!
Cảm ơn Todd, tôi đã chú ý đến cuộc thảo luận trên blog docker - https://forums.docker.com/t/upgrading-docker-to-current-version-on-centos/340/9. Tôi không thấy phiên bản mới hơn của trình ánh xạ thiết bị trên yum. Bất kỳ con trỏ nào để cài đặt/nâng cấp nó? $ danh sách yum --showduplicates device-mapper Gói cài đặt thiết bị mapper.x86_64 1.02.79-8.el6 @ Anaconda-RedHatEnterpriseLinux-201311111358.x86_64/6,5 – robbin
@Robbin - Chỉnh sửa câu trả lời của tôi để cung cấp thêm hướng dẫn chính xác trên nơi để tìm thấy điều này. – Todd
Cảm ơn bạn lần nữa @Todd, tôi đã làm như sau để nâng cấp thiết bị-mapper. 1. cd /etc/yum.repos.d 2. wget http://public-yum.oracle.com/public-yum-ol6.repo 3. wget http://public-yum.oracle. com/RPM-GPG-KEY-oracle-ol6 -O/etc/pki/rpm-gpg/RPM-GPG-KEY-oracle 4. yum cập nhật thiết bị-mapper – robbin