Skip to content

[awf] MCP gateway: Docker socket detection fails on ARC/DinD — "Docker socket not found" despite DOCKER_HOST set #2871

Closed as not planned

Description

@lpcox

Problem

The MCP gateway (gh-aw-mcpg) fails to start on ARC self-hosted runners with a DinD sidecar, reporting Docker socket not found at /var/run/docker.sock even though DOCKER_HOST=unix:///var/run/docker.sock is correctly set on the runner container and the socket is accessible.

Context

Upstream: github/gh-aw#28888

Environment: ARC gha-runner-scale-set Helm chart 0.13.1, runner image ghcr.io/actions/actions-runner:2.333.1, gh-aw-mcpg:v0.3.0, AWS EKS with containerd. The Docker socket is shared via an emptyDir volume. The gateway also emits Invalid container ID format errors when attempting Docker operations.

Root Cause

The MCP gateway hardcodes /var/run/docker.sock as the socket path instead of reading DOCKER_HOST to resolve the actual socket location. On ARC/DinD the socket may be at a different path on the shared volume. The Invalid container ID format error suggests the gateway also fails to correctly parse container IDs in the ARC/DinD container naming scheme.

Proposed Solution

  1. Update the MCP gateway's Docker client initialization to respect the DOCKER_HOST environment variable (standard Docker SDK behavior) rather than hardcoding /var/run/docker.sock.
  2. Fix container ID parsing to handle the formats used by containerd/ARC (e.g., full SHA256 IDs).
  3. Add a startup check that logs the resolved socket path for easier debugging.

Generated by Firewall Issue Dispatcher · ● 851.3K · ◷

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions