zoukankan      html  css  js  c++  java
  • 启动Docker“Got permission denied while trying to connect to the Docker daemon socket“问题(亲测可用)

    1 问题描述

    在终端执行"docker version"命令,出现如下报错:

    ”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“

    2 原因分析

    来自docker mannual:

    Manage Docker as a non-root user

    The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can only access it using sudo. The docker daemon always runs as the root user.

    If you don’t want to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group.

     docker进程使用 Unix Socket 而不是 TCP 端口。而默认情况下,Unix socket 属于 root 用户,因此需要 root权限 才能访问。

    3 解决方法

     sudo groupadd docker #添加docker用户组
    
    sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名,例如我的,liangll
    
    sudo gpasswd -a $USER docker #将当前用户添加至docker用户组
    
    newgrp docker #更新docker用户组

    4 检查是否更新成功

    再次执行"docker version"命令,发现不再出现"Got permission denied"权限报错

    5 References

    赞赏码

    非学,无以致疑;非问,无以广识

  • 相关阅读:
    CF 1119 题解
    CF 582 题解
    CF 1098 题解
    CF 1129 题解
    CF 513 题解
    CF 417 D 题解
    ingress nginx遇到502错误,connect() failed (113 Host is unreachable) while connecting to upstream
    MySQL性能剖析
    MySQL的基准测试
    MySQL架构与历史
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15452665.html
Copyright © 2011-2022 走看看