问题
在CentOS想使用Docker,但是安装完后Docker客户端无法连接到Docker守护进程
输入:
systemctl status docker
显示:
Authorization not available. Check if polkit service is running or see debug message for more information.
通过询问chatGPT和搜索各种博客以及csdn,均无法解决问题
解决
1、重新安装 polkit 服务(可选)
卸载旧版本的polkit:
sudo yum remove polkit
清除旧版本的polkit数据:
sudo rm -rf /var/lib/polkit-1/
安装新版本的polkit:
sudo yum install polkit
2、重新安装dbus服务(可选)
卸载旧版本的dbus:
sudo yum remove dbus
清除缓存:
sudo yum clean all
安装新版本的dbus:文章来源:https://www.toymoban.com/news/detail-559837.html
sudo yum install dbus
3、重新安装systemd服务(可选)
sudo yum reinstall systemd
以上步骤确保系统服务正常文章来源地址https://www.toymoban.com/news/detail-559837.html
4、创建用户/组
getent group polkitd >/dev/null && echo -e "\e[1;32mpolkitd group already exists\e[0m" || { groupadd -r polkitd && echo -e "\e[1;33mAdded missing polkitd group\e[0m" || echo -e "\e[1;31mAdding polkitd group FAILED\e[0m"; }
getent passwd polkitd >/dev/null && echo -e "\e[1;32mpolkitd user already exists\e[0m" || { useradd -r -g polkitd -d / -s /sbin/nologin -c "User for polkitd" polkitd && echo -e "\e[1;33mAdded missing polkitd user\e[0m" || echo -e "\e[1;31mAdding polkitd user FAILED\e[0m"; }
5、对 polkit 的相关文件进行重新授权
rpm -Va polkit\* && echo -e "\e[1;32mpolkit* rpm verification passed\e[0m" || { echo -e "\e[1;33mResetting polkit* rpm user/group ownership & perms\e[0m"; rpm --setugids polkit polkit-pkla-compat; rpm --setperms polkit polkit-pkla-compat; }
6、备份/var/run
mv /var/run /var/run.old
mv /var/lock /var/lock.old
7、重新创建符号链接
ln -s /run /var/
ln -s /run/lock /var/
8、同步更改
sync; sync
9、重启服务器
reboot
10、启动dbus、polkit
sudo systemctl start dbus
sudo systemctl start polkit
sudo systemctl start docker
sudo systemctl status docker
到了这里,关于Authorization not available. Check if polkit service is running or see debug message for more inform的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!