当前位置: 首页 > news >正文

linux中使用docker命令时提示权限不足

问题:成功安装docker后,使用docker相关命令时提示权限不足(permission denied)

liubai@liubai:~$ docker version
Client:
Version: 24.0.5
API version: 1.43
Go version: go1.20.14
Git commit: ced0996
Built: Tue Jun 25 22:37:33 2024
OS/Arch: linux/amd64
Context: default
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied

解决:这通常是由于运行docker命令的用户没有足够的权限访问docker.sock\docker\snap.docker所导致的,当为该情况时可按照如下方法修改权限

1、检查docker用户组是否存在

cat /etc/group | grep docker

使用该命令查看用户组文件中是否包含docker用户组的相关信息,如果无返回则不存在docker用户组。如下为存在时的返回:

liubai@liubai:~$ cat /etc/group | grep docker
docker:x:1001:liubai
1.1、如果不存在则创建docker用户组,存在则下一步
sudo groupadd docker

使用该命令创建名为docker的用户组,可使用前面的命令查看是否创建成功。

1.2、检查需要使用docker的用户是否存在于docker用户组中
sudo groups liubai

使用该命令查看用户liubai所属的用户组,一般会返回多个用户组,检查其中是否包含docker,包含时的返回为:

liubai@liubai:~$ groups liubai
liubai : liubai adm cdrom sudo dip plugdev lxd docker
1.3、如果用户(liubai)不属于docker用户组,希望添加则使用如下命令
sudo gpasswd -a liubai docker

2、如果确认docker用户组存在,且需要使用docker的用户存在于docker用户组中,那么需要检查docker\docker.sock\snap.docker的权限归属情况。

ls -l /var/run/docker
ls -l /var/run/docker.sock
ls -l /var/run/snap.docker

通常会发现,他们的权限归属全为root,形如

liubai@liubai:~$ ls -l /var/run/docker.sock
srw-rw---- 1 root root 0 Sep 29 12:40 /var/run/docker.sock

当发现这种情况时,请分别修改三个文件的所属组(而不修改其所属主),使用如下命令

sudo chown root:docker /var/run/docker
sudo chown root:docker /var/run/docker.sock 
sudo chown root:docker /var/run/snap.docker

再次确认权限归属情况时,返回应该形如:

liubai@liubai:~$ ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 Sep 29 12:40 /var/run/docker.sock

修改后可以尝试使用docker命令,应该已经解决权限不足问题。
如果仍然提示权限不足,可能存在的原因:1、用户组绑定未成功(请登出该用户后重新登录)2、docker守护进程或docker本身未成功加载修改(请重启docker守护进程或docker本身)

3、重启docker守护进程或重启docker本身

#重启docker的守护进程
sudo systemctl reload docker#重启docker服务当重启守护进程后权限仍未生效时
sudo systemctl restart docker
http://www.lryc.cn/news/454053.html

相关文章:

  • Lucene最新最全面试题及参考答案
  • 使用keras-tuner微调神经网络超参数
  • 【ECMAScript 从入门到进阶教程】第三部分:高级主题(高级函数与范式,元编程,正则表达式,性能优化)
  • LabVIEW光偏振态检测系统
  • Linux线程(八)线程与信号之间的关系详解
  • 红帽操作系统Linux基本命令2( Linux 网络操作系统 06)
  • 降重秘籍:如何利用ChatGPT将重复率从45%降至10%以下?
  • sql-labs靶场第九关测试报告
  • AI大模型的转折点,关注哪些机遇?
  • Stable Diffusion 常用大模型及其特点
  • macos安装mongodb
  • IDEA基础开发配置以及和git的联动
  • 【前端】前端数据转化为后端数据
  • LabVIEW回转支承间隙自动化检测系统
  • 数据结构-4.3.串的存储结构
  • LeetCode讲解篇之34. 在排序数组中查找元素的第一个和最后一个位置
  • Linux自动化构建工具Make/Makefile
  • 自动驾驶系列—智能驾驶中的“换挡革命”:线控换挡技术详解
  • .mallox勒索病毒肆虐:了解它的危害与防范措施
  • 如何使用ssm实现基于Java的民宿预订管理系统的设计与实现
  • 光伏组件模型模板在SketchUp中如何完成成模数化设计?
  • 常用组件详解(十):保存与加载模型、检查点机制的使用
  • 基于SpringBoot+Vue+MySQL的在线学习交流平台
  • 前端开发在AI时代如何保持核心竞争力
  • ffmpeg面向对象——拉流协议匹配机制探索
  • R语言绘制柱状图
  • GNU/Linux - tarball文件介绍介绍
  • AppointmentController
  • 网站建设完成后,切勿让公司官网成为摆设
  • 独孤思维:闲得蛋疼才去做副业