Daemon fails to start on runner WSL Ubuntu latest Debian GNU/Linux 10 (buster)
Contributing guidelines
- [x] I've read the contributing guidelines and wholeheartedly agree
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
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, 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 (
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.
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.
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 }}
@crazy-max - I have raised #168 for this. Can you review and provide your approval ?
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
Gotcha!, let me make the change and push it.
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