J'ai récemment mis à jour ma machine Centos 7. Et depuis, je n'arrive pas à démarrer l'un de mes dockers. Quelqu'un at-il une expérience de ce problème et si oui, comment l’avez-vous corrigé? Merci de votre aide précieuse . Au-dessous du journal des erreurs
docker run -it centos6_labs_ompi161_devtools3/usr/bin/docker-current: Réponse d'erreur du démon: shim erreur: docker-runc n'est pas installé sur le système.
Je sais que c'est une question plutôt ancienne; cependant, cela s'est produit lors de la mise à jour de CentOS - Extras docker vers le propre rpm de docker-ce de Docker. Le fichier de service situé dans /usr/lib/systemd/system/docker.service avait les lignes suivantes codées en dur dans la ligne ExecStart:
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
Par défaut, le package docker-ce ne contient pas le même ensemble de lignes et les chemins de fichiers sont différents. Après la mise à niveau, j'ai ajouté les éléments suivants et les conteneurs ont respecté mes commandes de démarrage sans perte de données comme prévu:
--add-runtime docker-runc=/usr/bin/docker-runc \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/bin/docker-proxy
J'espère que ceci aide quelqu'un d'autre!
Il semble que le docker rpm manque un lien symbolique à la fin… .. Comme on me l'a signalé, cette question a été soulevée à:
https://access.redhat.com/solutions/2876431
et cela peut être facilement résolu par:
cd /usr/libexec/docker/
Sudo ln -s docker-runc-current docker-runc
En référence à la réponse principale, introduisez le lien sym dans/usr/bin pour l'activer dans le chemin global
Sudo ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc
J'ai essayé la méthode de Nabil Ghodbane, mais cela n'a pas fonctionné ... Grâce à la réponse de billabongrob, j'ai trouvé un moyen de résoudre ce problème ... vous pouvez essayer ce fichier de configuration Docker:
$ cat /etc/docker/daemon.json
{
"log-level":"warn",
"hosts": ["unix:///var/run/docker.sock","tcp://0.0.0.0:2375"],
"runtimes": {
"docker-runc": {
"path": "/usr/libexec/docker/docker-runc-current"
}
},
"add-runtime": "docker-runc=/usr/libexec/docker/docker-runc-current",
"default-runtime": "docker-runc"
}
ou utilisez cette configuration dans votre ligne de commande.