FATA[0000] Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: permis

这得记录一下了 在csdn上找到的 都是重启进程 添加到组 添加到组还是不能成功 后来找到了这个帖子 终于成功了

原文转载:如何免 sudo 使用 docker - 泰晓科技 (tinylab.org) 

1 简介

默认安装完 docker 后,每次执行 docker 都需要运行 sudo 命令,非常浪费时间影响效率。如果不跟 sudo,直接执行 docker images 命令会有如下问题:

FATA[0000] Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?

于是考虑如何免 sudo 使用 docker,经过查找资料,发现只要把用户加入 docker 用户组即可,具体用法如下。

2 免 sudo 使用 docker

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

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

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

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

    newgrp - docker
    
    OR
    
    pkill X

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

3 原因分析

  • 因为 /var/run/docker.sock 所属 docker 组具有 setuid 权限

    
    $ sudo ls -l /var/run/docker.sock
    srw-rw---- 1 root docker 0 May 1 21:35 /var/run/docker.sock
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值