permission denied while trying to connect to the docker API at unix:///var/run/d...

2026年09月18日 14:43 7.35 秒 success

错误信息

permission denied while trying to connect to the docker API at unix:///var/run/docker.sock

AI 解决方案

原文:permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
译文:尝试连接位于 unix:///var/run/docker.sock 的 Docker API 时,权限被拒绝

🎯 原因分析


该错误通常表示当前用户没有足够权限访问 Docker 守护进程(docker.sock)。可能的原因包括:
  • 未将用户添加到 docker 组

  • docker.sock 文件权限配置不正确

  • Docker 服务未正确配置用户访问权限
  • 💡 解决方案

    #### 方案一:将用户添加到 docker 组

    # 将当前用户添加到 docker 组
    sudo usermod -aG docker $USER
    
    # 使组变更立即生效(或重新登录)
    newgrp docker
    

    #### 方案二:手动设置 socket 权限

    # 更改 docker.sock 所有权或权限
    sudo chown $USER:docker /var/run/docker.sock
    sudo chmod 660 /var/run/docker.sock
    

    🛡️ 预防措施


  • 定期检查权限配置:使用 ls -l /var/run/docker.sock 验证 socket 文件权限和组归属

  • 使用特权模式运行容器:必要时可通过 docker run --user 指定用户权限,避免长期修改全局权限配置