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

QNAP Container中GitLab-Runner无法连接Docker daemon求助

问题诊断

你当前的共享文件夹映射方向完全错误。GitLab Runner容器需要访问QNAP主机的Docker守护进程套接字,才能用docker executor创建子容器执行CI任务,但你把容器内部的/var/run/docker.sock挂载到了NAS共享目录,这完全搞反了依赖方向。

正确配置步骤

1. 修正Docker套接字挂载

在Container Station中编辑GitLab Runner容器的「共享文件夹」配置,删除原错误映射,添加正确的挂载:

  • 主机路径:/var/run/docker.sock(QNAP主机上的Docker守护进程套接字)
  • 容器路径:/var/run/docker.sock(Runner容器内部需要访问的路径)
  • 权限:设置为「读写(Read & Write)」

2. 配置容器用户权限

QNAP的docker.sock默认属于docker用户组(GID通常为999),Runner容器内的进程需要属于该组才能访问套接字:

  • 进入容器的「高级设置」-「环境变量」,添加变量:DOCKER_GROUP=999
  • 或者在容器启动参数中添加:--group-add 999

3. 重启容器并验证

保存配置后重启GitLab Runner容器,确保新的挂载和权限设置生效。

4. 测试CI任务

重新触发流水线任务,确认是否解决「无法连接Docker daemon」的错误。

额外注意点
  • 确保QNAP的Container Station服务处于运行状态
  • 不要将docker.sock挂载到NAS共享目录,共享目录的文件系统特性会破坏套接字的通信机制
  • 若临时测试权限,可在QNAP主机通过SSH执行chmod 666 /var/run/docker.sock(测试完成后建议改回chmod 660 /var/run/docker.sock,避免安全风险)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 06:37:28