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

GitHub Enterprise工作流中docker-run-action无法连接Docker守护进程求助

解决Docker run步骤无法连接daemon的问题

针对你在自托管Runner上遇到的docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock错误,提供以下几种可行方案:

1. 确保自托管Runner拥有Docker权限

在Runner所在的服务器上,执行以下命令将Runner用户加入docker组,重启Runner服务后生效:

usermod -aG docker $USER
sudo systemctl restart github-runner.service

2. 显式挂载Docker Socket到run容器

修改addnab/docker-run-action步骤,添加options参数挂载Docker socket,确保容器能访问宿主的Docker daemon:

- name: Run some commands in the container
  uses: addnab/docker-run-action@v3
  with:
    image: registry.private/user/image
    run: whoami && pwd
    options: -v /var/run/docker.sock:/var/run/docker.sock

3. 改用Docker Buildx直接运行测试(推荐)

由于你使用了docker-container驱动的Buildx,构建的镜像仅存在于Buildx的builder实例中,本地Docker可能无法直接读取。可以用Buildx的run命令直接测试镜像:

- name: Set up Docker Buildx
  id: buildx
  uses: docker/setup-buildx-action@v3
  with:
    driver: docker-container

- name: Run tests with Buildx
  run: |
    docker buildx run ${{ steps.buildx.outputs.name }} registry.private/user/image whoami && pwd

4. 切换Buildx驱动为docker

如果不需要docker-container驱动的特性,可以改为使用docker驱动,构建的镜像会直接出现在本地Docker镜像列表中,无需额外配置即可运行:

- name: Set up Docker Buildx
  uses: docker/setup-buildx-action@v3
  with:
    driver: docker

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:12:12