在macos-latest-xlarge ARM64机器上用Github Actions构建Docker镜像失败
解决macOS ARM64 GitHub Action中Docker daemon无法连接的问题
问题核心是:macOS GitHub Runner默认未运行Docker daemon,通过brew install docker仅安装了Docker客户端,缺少daemon服务支撑。以下是修复后的完整Workflow配置:
name: Mac OS ARM64 Docker Build on: workflow_dispatch: jobs: macos_arm64_build: name: Build Docker Image on ARM64 runs-on: macos-latest-xlarge steps: - name: Install Docker Desktop run: | # 安装完整的Docker Desktop(包含daemon和客户端) brew install --cask docker - name: Start Docker Desktop run: | # 启动Docker Desktop应用 open -a Docker # 等待Docker daemon就绪,最多等待5分钟 timeout 300s bash -c 'until docker info > /dev/null 2>&1; do sleep 5; done' - name: Verify Docker Setup run: | docker --version docker info - name: Build Test Docker Image run: | echo "FROM ubuntu:latest" > Dockerfile docker build --no-cache -t test .
关键说明:
- 使用
brew install --cask docker安装完整的Docker Desktop(而非仅docker-cli),它包含了daemon服务 - 通过
open -a Docker启动Docker Desktop应用,macOS上Docker daemon依赖Desktop运行 - 加入超时等待逻辑,确保Docker daemon完全启动后再执行后续构建操作,避免连接失败
- 移除
set +e,让Workflow在步骤失败时及时终止,便于排查问题
内容的提问来源于stack exchange,提问作者Uri
相关产品推荐
相关产品推荐

