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

docker-py执行容器列表命令触发PermissionError(13)的解决咨询

解决docker-py连接Docker守护进程时的Permission Denied错误

这个问题我碰到过好多次了,本质就是当前运行Python脚本的用户没有访问Docker守护进程的权限,下面是几个实用的解决步骤,按顺序试就行:

  • 检查并添加用户到docker用户组
    Docker守护进程默认允许docker组的用户访问它的socket,先看看你的用户是不是在这个组里:

    groups $USER
    

    如果输出里没有docker,就把用户添加进去:

    sudo usermod -aG docker $USER
    

    这里要注意:添加完之后必须注销当前用户再重新登录,或者用newgrp docker临时让组变更生效(不过注销重启是最稳妥的,避免后续出现奇怪的权限问题)。

  • 修复Docker socket文件的权限
    有时候docker组是对的,但socket文件的权限出问题了,先检查一下:

    ls -l /var/run/docker.sock
    

    正常情况下,这个文件的所属应该是root:docker,权限是srw-rw----。如果不是,执行下面的命令修正:

    sudo chown root:docker /var/run/docker.sock
    sudo chmod 660 /var/run/docker.sock
    
  • 临时应急方案(不推荐长期使用)
    如果赶时间测试功能,可以直接用sudo运行你的Python脚本:

    sudo python3 your_script.py
    

    但长期这么做会带来安全风险,还是优先用前面的用户组方法。

  • 重启Docker服务(如果上述步骤无效)
    有时候权限变更需要重启Docker才能生效:

    sudo systemctl restart docker
    

另外,如果你是在Windows或Mac上用Docker Desktop,还要确保Docker Desktop正在运行,并且在设置里开启了“Expose daemon on tcp://localhost:2375 without TLS”(本地开发场景用没问题,生产环境别开这个)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 15:32:31