J'avais déjà suivi https://docs.docker.com/installation/rhel/ pour installer docker sur rhel6.5. Cela fonctionnait jusqu’à aujourd’hui, jusqu’à ce que j’ai décidé d’exécuter "yum update" et de passer à docker1.3.
Maintenant, /etc/init.d/docker start échoue.
-bash-4.1$ Sudo /etc/init.d/docker status
docker dead but pid file exists
Contenu de/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
Je n'ai pas encore d'option pour passer à rhel7 et j'ai déjà essayé de
/ usr/bin/docker: erreur de déplacement:/usr/bin/docker: symbole dm_task_get_info_with_deferred_remove, version de base non définie dans le fichier libdevmapper.so.1.02 avec référence de temps de lien
Je suis tombé sur cette question au travail cette semaine (également sur RHEL6.5). Je pense que lib-device-mapper que vous avez n’exporte pas le symbole ("Base") dont Docker a besoin. J'ai résolu ce problème en mettant à niveau lib-device-mapper vers la version 1.02.90.
Vous devrez peut-être activer le référentiel public_ol6_latest
pour obtenir ce package.
Sudo yum-config-manager --enable public_ol6_latest
Et puis installez le paquet:
Sudo yum install device-mapper-event-libs
TL; DR: Dans mon cas, j’avais besoin de mettre à jour le paquet device-mapper-libs
sous CentOS/RHEL 6.5. Détails ci-dessous.
$ yum update -y device-mapper-libs
Sous RHEL/CentOS 6.5, la même erreur se produisait lorsque j'essayais de lancer le démon 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
Lors du dépannage, je suis tombé sur la discussion docker.io: docker ne s’exécute pas après la mise à jour pour Debian.
Pour référence, voici mon environnement avant le "correctif":
$ 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)
Avant la mise à niveau, device-mapper-libs
était à la version 1.02.79
. Dans le rapport de bogue Debian lié ci-dessus, il a été souligné que Docker 1.4.1 (qui est une version différente de celle sur laquelle l’affiche originale a été interrogée) est compilé avec une version plus récente de device-mapper-libs
(libdevmapper 2:1.02.90-1
, notez que le nom du paquet dans Debian est différent).
$ yum info device-mapper-libs
Installed Packages
Name : device-mapper-libs
Arch : x86_64
Version : 1.02.79
Release : 8.el6
<...snip...>
La mise à jour de device-mapper-libs
a résolu le problème:
$ 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...>
Une fois la mise à jour terminée, le démon docker démarrera correctement:
$ # 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)
J'espère que cela t'aides!
J'ai rencontré le même problème lors de l'installation de Docker 1.5 sur CentOS 7 sur Vagrant/VBox. La mise à niveau de DevMapper a résolu le problème. Pour cela, lancez la commande:
$ Sudo yum update device-mapper
J'ai rencontré ce problème après l'installation de docker 1.6 dans centOS7 et je ne peux pas exécuter docker avec succès. Après
miam installer lvm2
cela fonctionne pour moi dans centOS7 :)
Espérons que cela sera utile pour les personnes qui ont le même problème dans centOS7.