博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
免sudo使用docker命令
阅读量:7009 次
发布时间:2019-06-28

本文共 878 字,大约阅读时间需要 2 分钟。

背景

因为使用的是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 执行时同样有错。

转载地址:http://littl.baihongyu.com/

你可能感兴趣的文章
SpiderData 2019年2月18日 DApp数据排行榜
查看>>
react-refetch的使用小例子
查看>>
周末游攻略 - 南昌之行
查看>>
tcpdump查看Nginx长连接还是短连接
查看>>
Vue+thinkJs博客网站(二)之thinkJs的使用
查看>>
Electron学习笔记:主进程与渲染进程的通信方式
查看>>
JVM(六)为什么新生代有两个Survivor分区?
查看>>
Spark是一种基本的开源大数据技术
查看>>
Iterator 和 for...of 循环
查看>>
Font-face目前浏览器的兼容性
查看>>
Etcd超全解:原理阐释及部署设置的最佳实践
查看>>
聊聊flink的NetworkBufferPool
查看>>
MySQL主从同步机制和同步延时问题追查
查看>>
409. Longest Palindrome
查看>>
LeetCode 319. Bulb Switcher
查看>>
前端知识点——图片
查看>>
学汉语、来云栖、海外布道阿里云……这位印度架构师不一般
查看>>
240. Search a 2D Matrix II
查看>>
Leaflet-Develop-Guide
查看>>
Iterator图解
查看>>