【Docker】免sudo使用docker命令

原文:https://blog.csdn.net/baidu_36342103/article/details/69357438

背景

因为使用的是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
  • 其中第一为d代表该文件是一个文件夹
  • 前三位、中三位、后三位分别代表这属主权限、属组权限、其他人权限。
  • 如图,其中 第三列、第四列分别代表文件的属主、属组。
image

上图是报错文件的权限展示,可以看到其属主为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 执行时同样有错

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 进入带空格的文件或者文件夹 Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访...
    annkee阅读 7,622评论 0 4
  • whoami 查看当前登录用户名 /etc/group文件包含所有组 /etc/shadow和/etc/passw...
    仙灵儿阅读 3,971评论 0 0
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 9,854评论 0 27
  • 1.Ctrl + C:这个是用来终止当前命令的快捷键,当然您也可以输入一大串字符,不想让它 运行直接 Ctrl +...
    大唐雷恋阅读 3,823评论 0 1
  • 二言诗 (十首) 张权伟 2016年9月20日于西安 1、暮秋的风一直在磨它的刀子,直到磨出逼仄的寒光 它要把秋天...
    张权伟阅读 3,674评论 0 0

友情链接更多精彩内容