背景

因为使用的是sudo安装docker,所以会导致一个问题。以普通用户登录的状况下,在使用docker images时必须添加sudo,那么如何让docker免sudo依然可用呢?于是开始搜索解决方案。

理清楚问题

当以普通用户身份去使用docker images时,出现以下错误:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied

可以看都,最后告知我们时权限的问题。那么在linux文件权限有三个数据左右drwxrwxrwx

image.png
  • 其中第一为d代表该文件是一个文件夹
  • 前三位、中三位、后三位分别代表这属主权限、属组权限、其他人权限。
  • 如图,其中 第三列、第四列分别代表文件的属主、属组。

image.png

上图是报错文件的权限展示,可以看到其属主为root,权限为rw,可读可写;其属组为docker,权限为rw,可读可写。如果要当前用户可直接读取该文件,那么我们就为当前用户添加到docker属组即可。

  • 如果还没有 docker group 就添加一个:

    sudo groupadd docker
  • 将用户加入该 group 内。然后退出并重新登录就生效啦。

    sudo gpasswd -a ${USER} docker
  • 重启 docker 服务

    sudo service docker restart
  • 切换当前会话到新 group 或者重启 X 会话

    newgrp - docker

    注意:最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。

最新文章

  1. 年度巨献-WPF项目开发过程中WPF小知识点汇总(原创+摘抄)
  2. NOI上看到的几个小学奥数
  3. [U3D 添加大地、天空,用第一视角看看自己做的世界]
  4. Zookeeper开源客户端框架Curator简介[转]
  5. 边工作边刷题:70天一遍leetcode: day 71-2
  6. 虚拟机下CentOS找不到网卡eth0的解决方法
  7. Redis源码研究--双向链表
  8. QTP重要功能总结
  9. 转:MVC3系列:~Html.BeginForm与Ajax.BeginForm
  10. cell1这个字符串如何截取掉前边的cell剩下后边的数字 后边数字长度不固定
  11. Spring + Spring MVC + Hibernate
  12. HDU 5487 Difference of Languages(BFS)
  13. ExtJs 中的ext.date
  14. webStorm Linux Ubuntu 中文搜狗输入问题
  15. Django框架的安装
  16. HTML中padding和margin的区别和用法
  17. 小白的Python之路_day1
  18. RxJava(十)switchIfEmpty操作符实现Android检查本地缓存逻辑判断
  19. sql2008和sql2012混合安装后打开SQL Server 配置管理器查看出现“远程过程调用失败”0x800706be
  20. 一个死循环导致的栈溢出实例:StackOverFlowError

热门文章

  1. JAVA(一)变量
  2. yii2联表查询
  3. Asp.net vNext 学习之路(一)
  4. 查看loadrunner运行日志
  5. BFS迷宫搜索路径
  6. Python类总结-描述符__get__(),__set__(),__delete__()
  7. JAVAEE学习——hibernate01:简介、搭建、配置文件详解、API详解和CRM练习:保存客户
  8. Unity 2D游戏开发教程之游戏中精灵的跳跃状态
  9. 【UOJ 34】 #34. 多项式乘法 (FFT)
  10. [BZOJ4196][NOI2015]软件包管理器(树链剖分)