Skip to content

Docker-in-Docker not working with Colima on macOS M-series #5967

@eirisdg

Description

@eirisdg

Bug report info

act version:            0.2.82
GOOS:                   darwin
GOARCH:                 arm64
NumCPU:                 12
Docker host:            unix:///Users/adominguez/.colima/docker.sock
Sockets found:
        /Users/adominguez/.colima/docker.sock
Docker Engine:
        Engine version:        colima version 0.9.1
        Engine runtime:        runc
        Cgroup version:        [Your version]
        Cgroup driver:         cgroupfs
        Storage driver:        overlay2
        Registry URI:          https://index.docker.io/v1/
        OS:                    [Your Colima OS]
        OS type:               linux
        OS version:            MacOs 26.1
        OS arch:               aarch64
        OS kernel:             [Your kernel]
        OS CPU:                [Your CPU count]
        OS memory:             [Your memory]
        Security options:
                [Your security options]

Command used with act

act --workflows ".github/workflows/ci.yaml" \
    --platform arc-runners="ghcr.io/catthehacker/ubuntu:full-latest" \
    --container-daemon-socket "/Users/adominguez/.colima/docker.sock"

Describe issue

I'm running act on macOS with an M-series chip (Apple Silicon) using Colima as the Docker provider. When executing workflows that require Docker-in-Docker capabilities (actions that run docker run commands inside the workflow), the Docker socket is not accessible within the container.

Current Behavior:

  • act correctly detects the Colima Docker socket: unix:///Users/adominguez/.colima/docker.sock
  • The container starts successfully using ghcr.io/catthehacker/ubuntu:full-latest
  • However, when a GitHub Action tries to execute docker run inside the container, it fails with:
    docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

What Works:

  • Using -P arc-runners=-self-hosted works perfectly (executes directly on the host)
  • Docker commands work fine when executed directly on the macOS host through Colima

What Doesn't Work:

  • Running workflows inside the ghcr.io/catthehacker/ubuntu:full-latest container
  • The Docker socket is not being mounted/accessible inside the nested container

Root Cause: The --container-daemon-socket flag doesn't seem to properly mount the Colima socket inside the container, or there's an issue with how Colima sockets are handled compared to Docker Desktop on macOS.

Expected behavior

When using --container-daemon-socket with Colima on macOS M-series chips, the Docker socket should be mounted inside the container at /var/run/docker.sock, allowing GitHub Actions to execute Docker commands (Docker-in-Docker).

This should work similarly to how it works with Docker Desktop or when using -P arc-runners=-self-hosted.

Link to GitHub repository

No response

Workflow content

jobs:
  release:
    runs-on: arc-runners
    permissions:
      contents: write
      pull-requests: read

    steps:
      - name: Checkout code
        uses: actions/checkout@v5
        with:
          fetch-depth: 0

      - name: Set up Git
        run: |
          ls -lah /var/run/docker.sock
          docker --version
          docker run hello-world

Relevant log output

act --workflows ".github/workflows/ci.yaml" --secret-file "" --var-file "" --input-file "" --platform arc-runners="pk-registry.seidor.es/docker/catthehacker/ubuntu:full-latest" --eventpath "" --container-daemon-socket "/Users/adominguez/.colima/default/docker.sock"

Using docker host 'unix:///Users/adominguez/.colima/docker.sock', and daemon socket '/Users/adominguez/.colima/default/docker.sock'
[Auto-Version and Release/release] ⭐ Run Set up job
[Auto-Version and Release/release] 🚀  Start image=pk-registry.seidor.es/docker/catthehacker/ubuntu:full-latest
[Auto-Version and Release/release]   🐳  docker pull image=pk-registry.seidor.es/docker/catthehacker/ubuntu:full-latest platform= username= forcePull=true
[Auto-Version and Release/release] using DockerAuthConfig authentication for docker pull
[Auto-Version and Release/release]   🐳  docker create image=pk-registry.seidor.es/docker/catthehacker/ubuntu:full-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[Auto-Version and Release/release]   🐳  docker run image=pk-registry.seidor.es/docker/catthehacker/ubuntu:full-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[Auto-Version and Release/release]   🐳  docker exec cmd=[chown -R 1001:1001 /Users/adominguez/github/platform/platform-test-autoversioning] user=0 workdir=
[Auto-Version and Release/release]   🐳  docker exec cmd=[node --no-warnings -e console.log(process.execPath)] user= workdir=
[Auto-Version and Release/release]   ✅  Success - Set up job
[Auto-Version and Release/release]   ☁  git clone 'https://github.com/devops-actions/actionlint' # ref=v0.1.9
[Auto-Version and Release/release] ⭐ Run Pre devops-actions/[email protected]
[Auto-Version and Release/release]   ✅  Success - Pre devops-actions/[email protected] [19.769375ms]
[Auto-Version and Release/release]   ☁  git clone 'https://github.com/mathieudutour/github-tag-action' # ref=v6.2
[Auto-Version and Release/release] ⭐ Run Main Checkout code
[Auto-Version and Release/release]   🐳  docker cp src=/Users/adominguez/github/platform/platform-test-autoversioning/. dst=/Users/adominguez/github/platform/platform-test-autoversioning
[Auto-Version and Release/release]   🐳  docker exec cmd=[chown -R 1001:1001 /Users/adominguez/github/platform/platform-test-autoversioning] user=0 workdir=
[Auto-Version and Release/release]   ✅  Success - Main Checkout code [35.18175ms]
[Auto-Version and Release/release] ⭐ Run Main Set up Git
[Auto-Version and Release/release]   🐳  docker exec cmd=[bash -e /var/run/act/workflow/1] user= workdir=
[Auto-Version and Release/release] srw-rw-rw- 1 501 dialout 0 Nov 10 10:11 /var/run/docker.sock
[Auto-Version and Release/release] Docker version 28.0.4, build b8034c0
[Auto-Version and Release/release] docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[Auto-Version and Release/release]
[Auto-Version and Release/release] Run 'docker run --help' for more information

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions