docker-runc не установлен в системе
Я недавно обновил свою машину на базе Centos 7. И с тех пор я не могу запустить ни одного из моих докеров. Есть ли у кого-то опыт с этой проблемой, и если да, то как вы ее исправили?
Спасибо за вашу ценную помощь.
Ниже журнала ошибок
запуск докера -it centos6_labs_ompi161_devtools3
/usr/bin/docker-current: Ответ об ошибке от демона: ошибка shim: docker-runc не установлен в системе.
Ответы
Ответ 1
Кажется, что docker rpm в конце концов пропускает какую-то символическую ссылку. Как мне указывалось, этот вопрос поднимался:
https://access.redhat.com/solutions/2876431
и это можно легко устранить:
cd /usr/libexec/docker/
sudo ln -s docker-runc-current docker-runc
Ответ 2
В связи с верхним ответом введите символическую ссылку в /usr/bin, чтобы включить ее в глобальный путь
sudo ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc
Ответ 3
Я знаю, что это довольно старый вопрос; однако это произошло, когда я обновил док-станцию CentOS - Extras до Docker самостоятельно. Файл службы, расположенный в /usr/lib/systemd/system/docker.service, имел строки, жестко закодированные в строке 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 \
По умолчанию пакет docker-ce не поставляется с одним и тем же набором строк, и путь к файлу отличается. После обновления я добавил следующее, и контейнеры соблюдали мои начальные команды без потери данных, как ожидалось:
--add-runtime docker-runc=/usr/bin/docker-runc \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/bin/docker-proxy
Надеюсь, это поможет кому-то еще!
Ответ 4
Я попробовал метод Набила Годбейна, но он не сработал. Благодаря ответу billabongrob я нашел способ решить эту проблему. Вы можете попробовать этот файл конфигурации 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"
}
или используйте этот конфиг в командной строке.
Ответ 5
Пожалуйста, попробуйте это
Ошибка ошибки shim: docker-runc не установлен в системе
cd /usr/libexec/docker/
cp docker-runc-current /usr/bin/docker-runc