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

GCP VM部署Gitlab Runner运行CI时无法连接Docker daemon如何解决

问题根因

报错核心原因是gitlab-runner运行用户没有Docker套接字文件/var/run/docker.sock的访问权限,你当前的config.toml挂载配置无问题,仅需调整权限即可解决。

解决步骤
  • 确认套接字文件权限
    在GCP VM实例中执行命令查看/var/run/docker.sock的属组:

    sudo ls -l /var/run/docker.sock
    

    正常输出中该文件的属组为docker。

  • 给gitlab-runner用户授权
    执行如下命令将gitlab-runner用户加入docker用户组,获取Docker服务访问权限:

    sudo usermod -aG docker gitlab-runner
    

    如果你是通过Docker容器部署的Gitlab Runner,需要进入对应容器内部执行上述命令。

  • 重启Gitlab Runner生效配置
    宿主机直接部署的Runner执行:

    sudo gitlab-runner restart
    

    容器化部署的Runner执行:

    docker restart <你的Gitlab Runner容器ID/名称>
    
  • 验证配置生效
    执行如下命令确认权限配置正常:

    sudo su - gitlab-runner -c "docker ps"
    

    若命令可以正常输出容器列表,说明配置生效,重新运行CI作业即可消除报错。

临时验证方案(不建议长期使用)

如需快速排查问题,可临时放宽套接字文件权限:

sudo chmod 666 /var/run/docker.sock

该配置会在Docker服务重启后失效,仅用于临时测试,生产环境请使用上述用户组配置方案。


内容的提问来源于stack exchange,提问作者A.S. SAMARASINGHE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:06:03