ghaction-setup-docker icon indicating copy to clipboard operation
ghaction-setup-docker copied to clipboard

Daemon fails to start on runner WSL Ubuntu latest Debian GNU/Linux 10 (buster)

Open stevem995 opened this issue 11 months ago • 2 comments

Contributing guidelines

I've found a bug, and:

  • [x] The documentation does not mention anything about my problem
  • [x] There are no open or closed issues that are related to my problem

Description

Docker installs, but fails to start even when run by root. I'm using the act local Github Action utility. However, the issue seems to be with the runner itself.

Expected behaviour

docker should start

Actual behaviour

Docker fails to start

Repository URL

No response

Workflow run URL

No response

YAML workflow

---
name: devops-present-ci
run-name: ${{ github.actor }} is testing out GitHub Actions
on: push
env:
  APP_VERSION: "0.3.2"
  APP_NAME: "devops-present"

jobs:
  ci:
    runs-on: Ubuntu-latest
    steps:
      - name: Environment Variables
        run: |
          echo "Actor: ${{ github.actor }}"
          echo "Trigger: ${{ github.event_name }}"
          echo "Runner OS: ${{ runner.os }}"
          echo "Runner Name: $ImageOS"
          echo "Branch ref: ${{ github.ref }}"
          echo "Repository: ${{ github.repository }}"
          echo -e "whoami: " $(whoami)
          echo "Path: $PATH"
          echo "OS Release: " $(cat /etc/os-release | grep PRETTY_NAME | sed -e 's/PRETTY_NAME=//g')
      - name: --------- Install tools  ---------
        run: |
          apt update
          echo "Installing sudo ------"
          apt install sudo
          echo "Installing Iptables ------"
          apt -y install iptables
          echo "Installing fuse-overlayfs ------"
          apt -y install fuse-overlayfs
          echo "Installing modprobe ------"
          apt -y install kmod
      - name: --------- Install Docker  ---------
        uses: docker/setup-docker-action@v4

Workflow logs

On runner:

# Medium size github actions runner
-P ghcr.io/catthehacker/ubuntu:act-latest

On Machine: 
[devops-present-ci/ci]   | Actor: nektos/act
[devops-present-ci/ci]   | Trigger: push
[devops-present-ci/ci]   | Runner OS: Linux
[devops-present-ci/ci]   | Runner Name: Ubuntulatest
[devops-present-ci/ci]   | whoami:  root
[devops-present-ci/ci]   | Path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[devops-present-ci/ci]   | OS Release:  "Debian GNU/Linux 10 (buster)"

@[devops-present-ci/ci]   ❓  ::group::Start Docker daemon
[devops-present-ci/ci]   | [command] /opt/hostedtoolcache/docker-archive-stable/27.4.1/x64/dockerd --host="unix:///root/setup-docker-action-be01f360/docker.sock" --config-file="/root/setup-docker-action-be01f360/daemon.json" --exec-root="/root/setup-docker-action-be01f360/execroot" --data-root="/root/setup-docker-action-be01f360/data" --pidfile="/root/setup-docker-action-be01f360/docker.pid"
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.001470488Z" level=info msg="Starting up"
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.006272790Z" level=warning msg="could not change group /root/setup-docker-action-be01f360/docker.sock to docker: group docker not found"
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.006519590Z" level=info msg="containerd not running, starting managed containerd"
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.008302791Z" level=info msg="started new containerd process" address=/root/setup-docker-action-be01f360/execroot/containerd/containerd.sock module=libcontainerd pid=724
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.032602201Z" level=info msg="starting containerd" revision=88bf19b2105c8b17560993bee28a01ddc2f97182 version=v1.7.24
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.079257620Z" level=info msg="loading plugin \"io.containerd.event.v1.exchange\"..." type=io.containerd.event.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.079330320Z" level=info msg="loading plugin \"io.containerd.internal.v1.opt\"..." type=io.containerd.internal.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.080758820Z" level=info msg="loading plugin \"io.containerd.warning.v1.deprecations\"..." type=io.containerd.warning.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.080846320Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.blockfile\"..." type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.081253721Z" level=info msg="skip loading plugin \"io.containerd.snapshotter.v1.blockfile\"..." error="no scratch file generator: skip plugin" type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.081280321Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.devmapper\"..." type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.081301921Z" level=info msg="skip loading plugin \"io.containerd.snapshotter.v1.devmapper\"..." error="devmapper not configured: skip plugin" type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.081313121Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.native\"..." type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.081935821Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.overlayfs\"..." type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.082906721Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.aufs\"..." type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.086160023Z" level=info msg="skip loading plugin \"io.containerd.snapshotter.v1.aufs\"..." error="aufs is not supported (modprobe aufs failed: exit status 1 \"modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/5.15.167.4-microsoft-standard-WSL2/modules.dep.bin'\\nmodprobe: FATAL: Module aufs not found in directory /lib/modules/5.15.167.4-microsoft-standard-WSL2\\n\"): skip plugin" type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.086228923Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.zfs\"..." type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.086477323Z" level=info msg="skip loading plugin \"io.containerd.snapshotter.v1.zfs\"..." error="path /root/setup-docker-action-be01f360/data/containerd/daemon/io.containerd.snapshotter.v1.zfs must be a zfs filesystem to be used with the zfs snapshotter: skip plugin" type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.086565223Z" level=info msg="loading plugin \"io.containerd.content.v1.content\"..." type=io.containerd.content.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.086594823Z" level=info msg="loading plugin \"io.containerd.metadata.v1.bolt\"..." type=io.containerd.metadata.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.087180623Z" level=info msg="metadata content store policy set" policy=shared
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.098718828Z" level=info msg="loading plugin \"io.containerd.gc.v1.scheduler\"..." type=io.containerd.gc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.098841528Z" level=info msg="loading plugin \"io.containerd.differ.v1.walking\"..." type=io.containerd.differ.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.098893928Z" level=info msg="loading plugin \"io.containerd.lease.v1.manager\"..." type=io.containerd.lease.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.098920528Z" level=info msg="loading plugin \"io.containerd.streaming.v1.manager\"..." type=io.containerd.streaming.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.098969828Z" level=info msg="loading plugin \"io.containerd.runtime.v1.linux\"..." type=io.containerd.runtime.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.099823828Z" level=info msg="loading plugin \"io.containerd.monitor.v1.cgroups\"..." type=io.containerd.monitor.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.100166828Z" level=info msg="loading plugin \"io.containerd.runtime.v2.task\"..." type=io.containerd.runtime.v2
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.100933629Z" level=info msg="loading plugin \"io.containerd.runtime.v2.shim\"..." type=io.containerd.runtime.v2
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.100975529Z" level=info msg="loading plugin \"io.containerd.sandbox.store.v1.local\"..." type=io.containerd.sandbox.store.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.100991129Z" level=info msg="loading plugin \"io.containerd.sandbox.controller.v1.local\"..." type=io.containerd.sandbox.controller.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101002129Z" level=info msg="loading plugin \"io.containerd.service.v1.containers-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101028329Z" level=info msg="loading plugin \"io.containerd.service.v1.content-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101061229Z" level=info msg="loading plugin \"io.containerd.service.v1.diff-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101079229Z" level=info msg="loading plugin \"io.containerd.service.v1.images-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101120629Z" level=info msg="loading plugin \"io.containerd.service.v1.introspection-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101147429Z" level=info msg="loading plugin \"io.containerd.service.v1.namespaces-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101170929Z" level=info msg="loading plugin \"io.containerd.service.v1.snapshots-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101218629Z" level=info msg="loading plugin \"io.containerd.service.v1.tasks-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101260829Z" level=info msg="loading plugin \"io.containerd.grpc.v1.containers\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101305629Z" level=info msg="loading plugin \"io.containerd.grpc.v1.content\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101373629Z" level=info msg="loading plugin \"io.containerd.grpc.v1.diff\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101452829Z" level=info msg="loading plugin \"io.containerd.grpc.v1.events\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101484629Z" level=info msg="loading plugin \"io.containerd.grpc.v1.images\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101545329Z" level=info msg="loading plugin \"io.containerd.grpc.v1.introspection\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101593629Z" level=info msg="loading plugin \"io.containerd.grpc.v1.leases\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101622529Z" level=info msg="loading plugin \"io.containerd.grpc.v1.namespaces\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101649229Z" level=info msg="loading plugin \"io.containerd.grpc.v1.sandbox-controllers\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101709529Z" level=info msg="loading plugin \"io.containerd.grpc.v1.sandboxes\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101734029Z" level=info msg="loading plugin \"io.containerd.grpc.v1.snapshots\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101789029Z" level=info msg="loading plugin \"io.containerd.grpc.v1.streaming\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101840129Z" level=info msg="loading plugin \"io.containerd.grpc.v1.tasks\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101890029Z" level=info msg="loading plugin \"io.containerd.transfer.v1.local\"..." type=io.containerd.transfer.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101965429Z" level=info msg="loading plugin \"io.containerd.grpc.v1.transfer\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102022029Z" level=info msg="loading plugin \"io.containerd.grpc.v1.version\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102048629Z" level=info msg="loading plugin \"io.containerd.internal.v1.restart\"..." type=io.containerd.internal.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102156129Z" level=info msg="loading plugin \"io.containerd.tracing.processor.v1.otlp\"..." type=io.containerd.tracing.processor.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102218029Z" level=info msg="skip loading plugin \"io.containerd.tracing.processor.v1.otlp\"..." error="skip plugin: tracing endpoint not configured" type=io.containerd.tracing.processor.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102239829Z" level=info msg="loading plugin \"io.containerd.internal.v1.tracing\"..." type=io.containerd.internal.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102263529Z" level=info msg="skip loading plugin \"io.containerd.internal.v1.tracing\"..." error="skip plugin: tracing endpoint not configured" type=io.containerd.internal.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102314229Z" level=info msg="loading plugin \"io.containerd.grpc.v1.healthcheck\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102342629Z" level=info msg="loading plugin \"io.containerd.nri.v1.nri\"..." type=io.containerd.nri.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102369029Z" level=info msg="NRI interface is disabled by configuration."
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102738929Z" level=info msg=serving... address=/root/setup-docker-action-be01f360/execroot/containerd/containerd-debug.sock
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102907129Z" level=info msg=serving... address=/root/setup-docker-action-be01f360/execroot/containerd/containerd.sock.ttrpc
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.103061929Z" level=info msg=serving... address=/root/setup-docker-action-be01f360/execroot/containerd/containerd.sock
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.103123629Z" level=info msg="containerd successfully booted in 0.073237s"
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.018133301Z" level=info msg="OTEL tracing is not configured, using no-op tracer provider"
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.073918924Z" level=error msg="failed to mount overlay: operation not permitted" storage-driver=overlay2
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.081873427Z" level=info msg="Loading containers: start."
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.088971930Z" level=info msg="unable to detect if iptables supports xlock: 'iptables --wait -L -n': `iptables: Permission denied (you must be root).`" error="exit status 1"
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.120421643Z" level=info msg="stopping event stream following graceful shutdown" error="<nil>" module=libcontainerd namespace=moby
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.121920043Z" level=info msg="stopping event stream following graceful shutdown" error="context canceled" module=libcontainerd namespace=plugins.moby
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.121934643Z" level=info msg="stopping healthcheck following graceful shutdown" module=libcontainerd
[devops-present-ci/ci]   | failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to register "bridge" driver: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables: Permission denied (you must be root).
[devops-present-ci/ci]   |  (exit status 1)
[devops-present-ci/ci]   💬  ::debug::Exec.getExecOutput: docker version undefined
[devops-present-ci/ci]   ❓  ::endgroup::
[devops-present-ci/ci]   ❗  ::error::The process '/opt/hostedtoolcache/docker-archive-stable/27.4.1/x64/docker' failed with exit code 1
[devops-present-ci/ci]   ❌  Failure - Main --------- Install Docker  ---------
[devops-present-ci/ci]   ⚙  ::add-path:: /opt/hostedtoolcache/docker-archive-stable/27.4.1/x64
[devops-present-ci/ci] exitcode '1': failure
[devops-present-ci/ci] ⭐ Run Post --------- Install Docker  ---------
[devops-present-ci/ci]   🐳  docker exec cmd=[/usr/local/bin/node /var/run/act/actions/docker-setup-docker-action@v4/dist/index.js] user= workdir=
[devops-present-ci/ci]   ❓  ::group::Docker daemon logs
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.001470488Z" level=info msg="Starting up"
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.006272790Z" level=warning msg="could not change group /root/setup-docker-action-be01f360/docker.sock to docker: group docker not found"
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.006519590Z" level=info msg="containerd not running, starting managed containerd"
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.008302791Z" level=info msg="started new containerd process" address=/root/setup-docker-action-be01f360/execroot/containerd/containerd.sock module=libcontainerd pid=724
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.032602201Z" level=info msg="starting containerd" revision=88bf19b2105c8b17560993bee28a01ddc2f97182 version=v1.7.24
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.079257620Z" level=info msg="loading plugin \"io.containerd.event.v1.exchange\"..." type=io.containerd.event.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.079330320Z" level=info msg="loading plugin \"io.containerd.internal.v1.opt\"..." type=io.containerd.internal.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.080758820Z" level=info msg="loading plugin \"io.containerd.warning.v1.deprecations\"..." type=io.containerd.warning.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.080846320Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.blockfile\"..." type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.081253721Z" level=info msg="skip loading plugin \"io.containerd.snapshotter.v1.blockfile\"..." error="no scratch file generator: skip plugin" type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.081280321Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.devmapper\"..." type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.081301921Z" level=info msg="skip loading plugin \"io.containerd.snapshotter.v1.devmapper\"..." error="devmapper not configured: skip plugin" type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.081313121Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.native\"..." type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.081935821Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.overlayfs\"..." type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.082906721Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.aufs\"..." type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.086160023Z" level=info msg="skip loading plugin \"io.containerd.snapshotter.v1.aufs\"..." error="aufs is not supported (modprobe aufs failed: exit status 1 \"modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/5.15.167.4-microsoft-standard-WSL2/modules.dep.bin'\\nmodprobe: FATAL: Module aufs not found in directory /lib/modules/5.15.167.4-microsoft-standard-WSL2\\n\"): skip plugin" type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.086228923Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.zfs\"..." type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.086477323Z" level=info msg="skip loading plugin \"io.containerd.snapshotter.v1.zfs\"..." error="path /root/setup-docker-action-be01f360/data/containerd/daemon/io.containerd.snapshotter.v1.zfs must be a zfs filesystem to be used with the zfs snapshotter: skip plugin" type=io.containerd.snapshotter.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.086565223Z" level=info msg="loading plugin \"io.containerd.content.v1.content\"..." type=io.containerd.content.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.086594823Z" level=info msg="loading plugin \"io.containerd.metadata.v1.bolt\"..." type=io.containerd.metadata.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.087180623Z" level=info msg="metadata content store policy set" policy=shared
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.098718828Z" level=info msg="loading plugin \"io.containerd.gc.v1.scheduler\"..." type=io.containerd.gc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.098841528Z" level=info msg="loading plugin \"io.containerd.differ.v1.walking\"..." type=io.containerd.differ.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.098893928Z" level=info msg="loading plugin \"io.containerd.lease.v1.manager\"..." type=io.containerd.lease.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.098920528Z" level=info msg="loading plugin \"io.containerd.streaming.v1.manager\"..." type=io.containerd.streaming.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.098969828Z" level=info msg="loading plugin \"io.containerd.runtime.v1.linux\"..." type=io.containerd.runtime.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.099823828Z" level=info msg="loading plugin \"io.containerd.monitor.v1.cgroups\"..." type=io.containerd.monitor.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.100166828Z" level=info msg="loading plugin \"io.containerd.runtime.v2.task\"..." type=io.containerd.runtime.v2
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.100933629Z" level=info msg="loading plugin \"io.containerd.runtime.v2.shim\"..." type=io.containerd.runtime.v2
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.100975529Z" level=info msg="loading plugin \"io.containerd.sandbox.store.v1.local\"..." type=io.containerd.sandbox.store.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.100991129Z" level=info msg="loading plugin \"io.containerd.sandbox.controller.v1.local\"..." type=io.containerd.sandbox.controller.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101002129Z" level=info msg="loading plugin \"io.containerd.service.v1.containers-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101028329Z" level=info msg="loading plugin \"io.containerd.service.v1.content-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101061229Z" level=info msg="loading plugin \"io.containerd.service.v1.diff-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101079229Z" level=info msg="loading plugin \"io.containerd.service.v1.images-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101120629Z" level=info msg="loading plugin \"io.containerd.service.v1.introspection-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101147429Z" level=info msg="loading plugin \"io.containerd.service.v1.namespaces-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101170929Z" level=info msg="loading plugin \"io.containerd.service.v1.snapshots-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101218629Z" level=info msg="loading plugin \"io.containerd.service.v1.tasks-service\"..." type=io.containerd.service.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101260829Z" level=info msg="loading plugin \"io.containerd.grpc.v1.containers\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101305629Z" level=info msg="loading plugin \"io.containerd.grpc.v1.content\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101373629Z" level=info msg="loading plugin \"io.containerd.grpc.v1.diff\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101452829Z" level=info msg="loading plugin \"io.containerd.grpc.v1.events\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101484629Z" level=info msg="loading plugin \"io.containerd.grpc.v1.images\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101545329Z" level=info msg="loading plugin \"io.containerd.grpc.v1.introspection\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101593629Z" level=info msg="loading plugin \"io.containerd.grpc.v1.leases\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101622529Z" level=info msg="loading plugin \"io.containerd.grpc.v1.namespaces\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101649229Z" level=info msg="loading plugin \"io.containerd.grpc.v1.sandbox-controllers\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101709529Z" level=info msg="loading plugin \"io.containerd.grpc.v1.sandboxes\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101734029Z" level=info msg="loading plugin \"io.containerd.grpc.v1.snapshots\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101789029Z" level=info msg="loading plugin \"io.containerd.grpc.v1.streaming\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101840129Z" level=info msg="loading plugin \"io.containerd.grpc.v1.tasks\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101890029Z" level=info msg="loading plugin \"io.containerd.transfer.v1.local\"..." type=io.containerd.transfer.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.101965429Z" level=info msg="loading plugin \"io.containerd.grpc.v1.transfer\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102022029Z" level=info msg="loading plugin \"io.containerd.grpc.v1.version\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102048629Z" level=info msg="loading plugin \"io.containerd.internal.v1.restart\"..." type=io.containerd.internal.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102156129Z" level=info msg="loading plugin \"io.containerd.tracing.processor.v1.otlp\"..." type=io.containerd.tracing.processor.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102218029Z" level=info msg="skip loading plugin \"io.containerd.tracing.processor.v1.otlp\"..." error="skip plugin: tracing endpoint not configured" type=io.containerd.tracing.processor.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102239829Z" level=info msg="loading plugin \"io.containerd.internal.v1.tracing\"..." type=io.containerd.internal.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102263529Z" level=info msg="skip loading plugin \"io.containerd.internal.v1.tracing\"..." error="skip plugin: tracing endpoint not configured" type=io.containerd.internal.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102314229Z" level=info msg="loading plugin \"io.containerd.grpc.v1.healthcheck\"..." type=io.containerd.grpc.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102342629Z" level=info msg="loading plugin \"io.containerd.nri.v1.nri\"..." type=io.containerd.nri.v1
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102369029Z" level=info msg="NRI interface is disabled by configuration."
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102738929Z" level=info msg=serving... address=/root/setup-docker-action-be01f360/execroot/containerd/containerd-debug.sock
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.102907129Z" level=info msg=serving... address=/root/setup-docker-action-be01f360/execroot/containerd/containerd.sock.ttrpc
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.103061929Z" level=info msg=serving... address=/root/setup-docker-action-be01f360/execroot/containerd/containerd.sock
[devops-present-ci/ci]   | time="2025-01-03T21:35:46.103123629Z" level=info msg="containerd successfully booted in 0.073237s"
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.018133301Z" level=info msg="OTEL tracing is not configured, using no-op tracer provider"
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.073918924Z" level=error msg="failed to mount overlay: operation not permitted" storage-driver=overlay2
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.081873427Z" level=info msg="Loading containers: start."
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.088971930Z" level=info msg="unable to detect if iptables supports xlock: 'iptables --wait -L -n': `iptables: Permission denied (you must be root).`" error="exit status 1"
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.120421643Z" level=info msg="stopping event stream following graceful shutdown" error="<nil>" module=libcontainerd namespace=moby
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.121920043Z" level=info msg="stopping event stream following graceful shutdown" error="context canceled" module=libcontainerd namespace=plugins.moby
[devops-present-ci/ci]   | time="2025-01-03T21:35:47.121934643Z" level=info msg="stopping healthcheck following graceful shutdown" module=libcontainerd
[devops-present-ci/ci]   | failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to register "bridge" driver: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables: Permission denied (you must be root).
[devops-present-ci/ci]   |  (exit status 1)
[devops-present-ci/ci]   |
[devops-present-ci/ci]   ❓  ::endgroup::
[devops-present-ci/ci]   ❓  ::group::Stopping Docker daemon
[devops-present-ci/ci]   ❓  ::endgroup::
[devops-present-ci/ci]   | Error: ENOENT: no such file or directory, open '/root/setup-docker-action-be01f360/docker.pid'
[devops-present-ci/ci]   |     at Object.openSync (node:fs:590:3)
[devops-present-ci/ci]   |     at Object.runDir [as readFileSync] (node:fs:458:35)
[devops-present-ci/ci]   |     at Install.__importDefault (/run/act/actions/docker-setup-docker-action@v4/webpack:/docker-setup-docker/node_modules/@docker/actions-toolkit/lib/docker/install.js:502:1)
[devops-present-ci/ci]   |     at Generator.next (<anonymous>)
[devops-present-ci/ci]   |     at /run/act/actions/docker-setup-docker-action@v4/webpack:/docker-setup-docker/node_modules/@docker/actions-toolkit/lib/docker/install.js:49:1
[devops-present-ci/ci]   |     at new Promise (<anonymous>)
[devops-present-ci/ci]   |     at u (/run/act/actions/docker-setup-docker-action@v4/webpack:/docker-setup-docker/node_modules/@docker/actions-toolkit/lib/docker/install.js:43:1)
[devops-present-ci/ci]   |     at exports (/run/act/actions/docker-setup-docker-action@v4/webpack:/docker-setup-docker/node_modules/@docker/actions-toolkit/lib/docker/install.js:501:1)
[devops-present-ci/ci]   |     at Object.<anonymous> (/run/act/actions/docker-setup-docker-action@v4/webpack:/docker-setup-docker/node_modules/@actions/core/lib/core.js:288:1)
[devops-present-ci/ci]   |     at Generator.next (<anonymous>)
[devops-present-ci/ci]   ❌  Failure - Post --------- Install Docker  ---------
[devops-present-ci/ci] 🏁  Job failed
Error: Error occurred running finally: exitcode '1': failure (original error: <nil>)

Docker daemon logs


Additional info

No response

stevem995 avatar Jan 03 '25 21:01 stevem995

failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to register "bridge" driver: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables: Permission denied (you must be root).

Looks like root is not available in this act image, you can try to enable rootless:

      - name: --------- Install Docker  ---------
        uses: docker/setup-docker-action@v4
        with:
          rootless: true

However, for your information, we don't support or test outside of GitHub-hosted runner infrastructure, though we can assist on a best-effort basis.

crazy-max avatar Jan 06 '25 09:01 crazy-max

@crazy-max, understood. I appreciate the help.

One thing to note is that whoami does return root during the run:

[devops-present-ci/ci] | whoami: root

Update 1/6/2025: Also, this happens whether I run in an admin window or not. I have tried in both Githbash(sometimes Gitbash will not be able to alter permissions) and in Powershell(in admin terminal and non-admin terminal) Also tried with and without rootless: true in powershell.

Using the rootless: true key/value you suggested and adding a finally debug step the action still hits a permission snag:

  - name: --------- Install Docker  ---------
    uses: docker/setup-docker-action@v4
    with:
      rootless: true
  - name: --------- foobar Debugging Previous  ---------
    if: ${{ failure() }}
    run: |
      echo "foobar  Debug Checking docker dir: /root/setup-docker-action-*"
      ls -al /root/setup-docker-action-*

Output: [devops-present-ci/ci] | Added Docker to PATH [devops-present-ci/ci] ❓ ::endgroup:: [devops-present-ci/ci] ❓ ::group::Start Docker daemon [devops-present-ci/ci] | [command] /opt/hostedtoolcache/docker-archive-stable/27.4.1/x64/dockerd-rootless.sh --host="unix:///root/setup-docker-action-d54a593f/docker.sock" --config-file="/root/setup-docker-action-d54a593f/daemon.json" --exec-root="/root/setup-docker-action-d54a593f/execroot" --data-root="/root/setup-docker-action-d54a593f/data" --pidfile="/root/setup-docker-action-d54a593f/docker.pid" [devops-present-ci/ci] | tee: /root/setup-docker-action-d54a593f/dockerd.log: Permission denied [devops-present-ci/ci] | + [ -w ] [devops-present-ci/ci] | + echo XDG_RUNTIME_DIR needs to be set and writable [devops-present-ci/ci] | XDG_RUNTIME_DIR needs to be set and writable [devops-present-ci/ci] | + exit 1 [devops-present-ci/ci] 💬 ::debug::Exec.getExecOutput: docker version undefined [devops-present-ci/ci] ❓ ::endgroup:: [devops-present-ci/ci] ❗ ::error::The process '/opt/hostedtoolcache/docker-archive-stable/27.4.1/x64/docker' failed with exit code 1 [devops-present-ci/ci] ❌ Failure - Main --------- Install Docker --------- [devops-present-ci/ci] ⚙ ::add-path:: /opt/hostedtoolcache/docker-archive-stable/27.4.1/x64 [devops-present-ci/ci] exitcode '1': failure [devops-present-ci/ci] ⭐ Run Main --------- foobar Debugging Previous --------- [devops-present-ci/ci] 🐳 docker exec cmd=[bash -e /var/run/act/workflow/3] user= workdir= [devops-present-ci/ci] | foobar Debug Checking docker dir [devops-present-ci/ci] | total 12 [devops-present-ci/ci] | drwxr-xr-x 2 root root 4096 Jan 7 01:06 . [devops-present-ci/ci] | drwx------ 1 root root 4096 Jan 7 01:06 .. [devops-present-ci/ci] | -rw-r--r-- 1 root root 2 Jan 7 01:06 daemon.json [devops-present-ci/ci] ✅ Success - Main --------- foobar Debugging Previous --------- [devops-present-ci/ci] ⭐ Run Post --------- Install Docker --------- [devops-present-ci/ci] 🐳 docker exec cmd=[/usr/local/bin/node /var/run/act/actions/docker-setup-docker-action@v4/dist/index.js] user= workdir= [devops-present-ci/ci] ❓ ::group::Docker daemon logs [devops-present-ci/ci] ❓ ::endgroup:: [devops-present-ci/ci] | Error: ENOENT: no such file or directory, open '/root/setup-docker-action-d54a593f/dockerd.log' [devops-present-ci/ci] | at Object.openSync (node:fs:590:3) [devops-present-ci/ci] | at Object.runDir [as readFileSync] (node:fs:458:35) [devops-present-ci/ci] | at Install.__importDefault (/run/act/actions/docker-setup-docker-action@v4/webpack:/docker-setup-docker/node_modules/@docker/actions-toolkit/lib/docker/install.js:499:1) [devops-present-ci/ci] | at Generator.next () [devops-present-ci/ci] | at /run/act/actions/docker-setup-docker-action@v4/webpack:/docker-setup-docker/node_modules/@docker/actions-toolkit/lib/docker/install.js:49:1 [devops-present-ci/ci] | at new Promise () [devops-present-ci/ci] | at core (/run/act/actions/docker-setup-docker-action@v4/webpack:/docker-setup-docker/node_modules/@docker/actions-toolkit/lib/docker/install.js:43:1) [devops-present-ci/ci] | at exports (/run/act/actions/docker-setup-docker-action@v4/webpack:/docker-setup-docker/node_modules/@docker/actions-toolkit/lib/docker/install.js:499:1) [devops-present-ci/ci] | at Object. (/run/act/actions/docker-setup-docker-action@v4/webpack:/docker-setup-docker/node_modules/@actions/core/lib/core.js:288:1) [devops-present-ci/ci] | at Generator.next () [devops-present-ci/ci] ❌ Failure - Post --------- Install Docker --------- [devops-present-ci/ci] 🏁 Job failed Error: Error occurred running finally: Error occurred running finally: exitcode '1': failure (original error: ) (original error: )

stevem995 avatar Jan 07 '25 01:01 stevem995

Found out the issue,

[devops-present-ci/ci] | + [ -w ] [devops-present-ci/ci] | + echo XDG_RUNTIME_DIR needs to be set and writable [devops-present-ci/ci] | XDG_RUNTIME_DIR needs to be set and writable [devops-present-ci/ci] | + exit 1

In this action we are not giving input for runDir, rather it is a const value when we run the action as rootless.

This runDir is actually being called as XDG_RUNTIME_DIR variable in docker action toolkit

This XDG_RUNTIME_DIR is being validated for writable accessand then it is throwing the above error since, your runner is not having write access to the const value.

I'm not sure why runDir is a const value, but if we can have an input on the variable, it may fix our issue.

@crazy-max - Can you share your opinion ? I can raise a PR for the same if this sounds like a good idea.

ArunKumarT1995 avatar Aug 06 '25 12:08 ArunKumarT1995

I'm not sure why runDir is a const value, but if we can have an input on the variable, it may fix our issue.

Yes I think we could have an input named runtime-basedir and if not set defaults to path.join(os.homedir(), 'setup-docker-action'). Should keep random dir name in case people want to run multiple engines. Would look like this for example /root/setup-docker-action/run-d54a593f instead of /root/setup-docker-action-d54a593f.

crazy-max avatar Aug 06 '25 12:08 crazy-max

the XDG_RUNTIME_DIR, is being used while looking up docker.sock. If we have random char being attached by default, people using self-hosted need to create directory with exact random char and then provide permission which would be tricky.

If need to create multiple engines, they can create a step before calling the action. Something like this,

- name: Generate Dir Name
   id: dir
   run: |
     dir_name=mydir-$(openssl rand hex -8)
     echo "dir_name=${dir_name} >> $GTIHUB_OUTPUT

- name: Setup Docker action
   uses: docker/setup-docker-action@v4
   with:
      ....
      runtime-basedir: ${{ steps.dir.outputs.dir_name }}

ArunKumarT1995 avatar Aug 06 '25 12:08 ArunKumarT1995

@crazy-max - I have raised #168 for this. Can you review and provide your approval ?

ArunKumarT1995 avatar Aug 06 '25 13:08 ArunKumarT1995

the XDG_RUNTIME_DIR, is being used while looking up docker.sock. If we have random char being attached by default, people using self-hosted need to create directory with exact random char and then provide permission which would be tricky.

If need to create multiple engines, they can create a step before calling the action. Something like this,

  • name: Generate Dir Name id: dir run: | dir_name=mydir-$(openssl rand hex -8) echo "dir_name=${dir_name} >> $GTIHUB_OUTPUT

  • name: Setup Docker action uses: docker/setup-docker-action@v4 with: .... runtime-basedir: ${{ steps.dir.outputs.dir_name }}

Didn't mean created the random dir in the workflow but action code base, see my review https://github.com/docker/setup-docker-action/pull/168#discussion_r2257161230

crazy-max avatar Aug 06 '25 14:08 crazy-max

Gotcha!, let me make the change and push it.

ArunKumarT1995 avatar Aug 06 '25 15:08 ArunKumarT1995

This issue is not yet fixed. We need to reopen this.

I debugged further, even after configuring runtime-basedir , the XDG_RUNTIME_DIR environment variable is not set and throwing above error.

I added the environment variable manually inside the runner and ran the install command, it proceeds further and fails with error rootlesskit needs to be installed. But I can see rootlesskit available only on certain dir.

So basically, PATH variable is not set and XDG_RUNTIME_DIR variable is not being set before docker daemon start process.

In docker/actions-toolkit, both these variables are configured, but it not working for rootless mode. I will raise an issue actions-toolkit repo too. Meanwhile we can have this issue re-open

ArunKumarT1995 avatar Aug 07 '25 05:08 ArunKumarT1995