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

IntelliJ及终端Docker权限拒绝求助:无法连接docker.sock

Docker权限拒绝问题排查与解决

问题现象

  • 在IntelliJ IDEA中通过docker-compose.yaml启动服务时,提示:

    Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (Details: [13] Permission denied)

  • 确认Docker服务处于运行状态:
    $ service docker status
    
    ● docker.service - Docker Application Container Engine
         Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
         Active: active (running) since Fri 2023-10-06 19:18:29 CEST; 19h ago
      TriggeredBy: ● docker.socket
            Docs: https://docs.docker.com
         Main PID: 2968617 (dockerd)
            Tasks: 22
         Memory: 925.9M
            CPU: 24.084s
         CGroup: /system.slice/docker.service
                  └─2968617 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
    
  • 终端执行docker compose命令同样报错:
    $ docker compose -f docker-compose.yaml up -d
    
    permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: 
    Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dmongodb%22%3Atrue%7D%7D": 
    dial unix /var/run/docker.sock: connect: permission denied
    
  • 安装docker-compose后执行命令仍报错:
    $ docker-compose -f docker-compose.yaml up -d
    
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen
        ...
    PermissionError: [Errno 13] Permission denied
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      ...
      File "/usr/lib/python3/dist-packages/docker/transport/unixconn.py", line 30, in connect
        sock.connect(self.unix_socket)
    urllib3.exceptions.ProtocolError: ('Connection aborted.', PermissionError(13, 'Permission denied'))
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      ...
    requests.exceptions.ConnectionError: ('Connection aborted.', PermissionError(13, 'Permission denied'))
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/bin/docker-compose", line 33, in <module>
        sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')())
      File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 81, in main
        command_func()
      ...
      File "/usr/lib/python3/dist-packages/docker/api/client.py", line 221, in _retrieve_server_version
        raise DockerException(
    docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))
    

解决方案

原因分析

核心问题是当前用户没有访问Docker Unix套接字的权限,/var/run/docker.sock默认归属docker用户组,普通用户未加入该组时无法操作Docker服务。

步骤1:将当前用户加入docker用户组

执行命令:

sudo usermod -aG docker $USER
  • -aG参数确保将用户追加到docker组,不会覆盖原有组权限。

步骤2:刷新权限生效

无需重启系统,执行以下命令让权限立即生效:

newgrp docker

或者退出当前用户会话(包括关闭IntelliJ IDEA后重新打开),重新登录即可。

步骤3:验证权限

执行测试命令确认权限配置成功:

docker ps

如果能正常输出容器列表,说明权限配置完成。此时再执行docker compose up -d或在IntelliJ IDEA中启动服务即可正常运行。

临时应急方案(不推荐长期使用)

若需临时解决,可通过sudo执行命令:

sudo docker compose -f docker-compose.yaml up -d

但长期使用sudo存在安全风险,且IntelliJ IDEA无法直接通过sudo调用,因此优先推荐加入用户组的方案。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 23:50:05