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

如何解决GitHub Workflow中自定义Docker镜像无法连接docker.sock的问题?

问题:GitHub Actions中使用自定义镜像调用Docker时的连接问题

我在GitHub工作流中使用自定义Docker镜像,目标是构建并推送镜像至GCR。选择自定义镜像是因为构建过程需要安装大量前置依赖,想以此加速CI工作流,同时将Dockerfile作为构建环境需求的清单。

目前遇到的问题:调用Docker时出现连接docker.sock的权限拒绝错误。本地环境下可以通过挂载主机docker.sock解决,但在GitHub Runner中无法这么做(推测是出于安全限制),且尝试将用户加入docker组也没有效果。

现寻求以下帮助:

  • 解决该问题的可行方案
  • 若GitHub Actions不适用,推荐更合适的CI工具

附相关文件及信息

最小化Dockerfile

FROM ubuntu:latest

RUN apt-get update && \
    apt-get install -y \
        curl \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

RUN curl -fsSL https://get.docker.com -o get-docker.sh
RUN sh get-docker.sh

GitHub Workflow配置文件

name: Deploy to staging

on:
  push:
    tags:
      - '*'
jobs:
  deploy:
    runs-on: ubuntu-latest
    container: 
      image: eu.gcr.io/my-image
      credentials:
        username: _json_key
        password: ${{ secrets.TOKEN }}
    env:
      ...
    steps:
      - name: call docker
        run: docker images

错误提示信息

本地复现错误时执行docker images,输出如下:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

本地可行的临时解决命令

docker run -it -v /var/run/docker.sock:/var/run/docker.sock my-image-name

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 10:59:59