You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04普通用户执行docker run报错:无法连接Docker守护进程

解决普通用户Docker连接报错问题

核心问题分析

报错里的socket路径unix:///home/hexa/.docker/desktop/docker.sock说明你的环境变量指向了Docker Desktop的socket,但你大概率是通过apt安装的Docker Engine,或者Docker Desktop服务未启动,导致无法正常连接。

具体修复步骤

1. 检查并修正Docker环境变量

先查看当前是否设置了错误的DOCKER_HOST:

echo $DOCKER_HOST

如果输出为unix:///home/hexa/.docker/desktop/docker.sock,执行以下操作:

  • 临时生效(仅当前终端):
    unset DOCKER_HOST
    
    之后直接测试docker run hello-world。
  • 永久生效(所有终端):
    编辑用户shell配置文件(比如~/.bashrc或~/.zshrc,根据你使用的shell),找到设置DOCKER_HOST的行并删除,然后执行:
    source ~/.bashrc  # 对应bash环境,zsh则用source ~/.zshrc
    

2. 确认Docker Engine服务状态

检查Docker Engine是否在运行:

sudo systemctl status docker

如果服务未启动,执行以下命令启动并设置开机自启:

sudo systemctl start docker
sudo systemctl enable docker

3. 让用户组权限立即生效

之前执行过sudo usermod -aG docker $USER,但需要执行以下命令让权限立即生效(无需重新登录):

newgrp docker

之后再次测试docker run hello-world。

4. 修复Docker Socket权限

检查/var/run/docker.sock的权限是否正确:

ls -l /var/run/docker.sock

正确的权限输出应该是所属组为docker,类似:

srw-rw---- 1 root docker 0 Aug 20 10:00 /var/run/docker.sock

如果权限不对,执行:

sudo chown root:docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock

内容的提问来源于stack exchange,提问作者user23488513

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 08:49:53