Docker: failed to create task for container

Hi.

I just built an OpenWrt image with cgroups, veth, etc. and installed docker for the first time.

Containerd starts fine, dockerd starts fine, image download works, but I can’t start any containers, not even very basic ones like hello-world.

# docker run -i hello-world
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: can't get final child's PID from pipe: EOF: unknown.

I tried to start containerd and dockerd manually with debug enabled. Here are the logs created when the above command executes:

dockerd log:

time="2026-01-05T18:40:25.448047774+02:00" level=debug msg="Calling HEAD /_ping" spanID=521ddf8c8b3d1385 traceID=6245791da82c8daac57ee739238dc4e9
time="2026-01-05T18:40:25.452194584+02:00" level=debug msg="Calling POST /v1.47/containers/create" spanID=203a210d6803cec8 traceID=2dacae4ca3bbda3a17e693d46e128615
time="2026-01-05T18:40:25.453155455+02:00" level=debug msg="form data: {\"AttachStderr\":true,\"AttachStdin\":true,\"AttachStdout\":true,\"Cmd\":null,\"Domainname\":\"\",\"Entrypoint\":null,\"Env\":null,\"HostConfig\":{\"AutoRemove\":false,\"Binds\":null,\"BlkioDeviceReadBps\":[],\"BlkioDeviceReadIOps\":[],\"BlkioDeviceWriteBps\":[],\"BlkioDeviceWriteIOps\":[],\"BlkioWeight\":0,\"BlkioWeightDevice\":[],\"CapAdd\":null,\"CapDrop\":null,\"Cgroup\":\"\",\"CgroupParent\":\"\",\"CgroupnsMode\":\"\",\"ConsoleSize\":[65,175],\"ContainerIDFile\":\"\",\"CpuCount\":0,\"CpuPercent\":0,\"CpuPeriod\":0,\"CpuQuota\":0,\"CpuRealtimePeriod\":0,\"CpuRealtimeRuntime\":0,\"CpuShares\":0,\"CpusetCpus\":\"\",\"CpusetMems\":\"\",\"DeviceCgroupRules\":null,\"DeviceRequests\":null,\"Devices\":[],\"Dns\":[],\"DnsOptions\":[],\"DnsSearch\":[],\"ExtraHosts\":null,\"GroupAdd\":null,\"IOMaximumBandwidth\":0,\"IOMaximumIOps\":0,\"IpcMode\":\"\",\"Isolation\":\"\",\"Links\":null,\"LogConfig\":{\"Config\":{},\"Type\":\"\"},\"MaskedPaths\":null,\"Memory\":0,\"MemoryReservation\":0,\"MemorySwap\":0,\"MemorySwappiness\":-1,\"NanoCpus\":0,\"NetworkMode\":\"default\",\"OomKillDisable\":false,\"OomScoreAdj\":0,\"PidMode\":\"\",\"PidsLimit\":0,\"PortBindings\":{},\"Privileged\":false,\"PublishAllPorts\":false,\"ReadonlyPaths\":null,\"ReadonlyRootfs\":false,\"RestartPolicy\":{\"MaximumRetryCount\":0,\"Name\":\"no\"},\"SecurityOpt\":null,\"ShmSize\":0,\"UTSMode\":\"\",\"Ulimits\":[],\"UsernsMode\":\"\",\"VolumeDriver\":\"\",\"VolumesFrom\":null},\"Hostname\":\"\",\"Image\":\"hello-world\",\"Labels\":{},\"NetworkingConfig\":{\"EndpointsConfig\":{\"default\":{\"Aliases\":null,\"DNSNames\":null,\"DriverOpts\":null,\"EndpointID\":\"\",\"Gateway\":\"\",\"GlobalIPv6Address\":\"\",\"GlobalIPv6PrefixLen\":0,\"IPAMConfig\":null,\"IPAddress\":\"\",\"IPPrefixLen\":0,\"IPv6Gateway\":\"\",\"Links\":null,\"MacAddress\":\"\",\"NetworkID\":\"\"}}},\"OnBuild\":null,\"OpenStdin\":true,\"StdinOnce\":true,\"Tty\":false,\"User\":\"\",\"Volumes\":{},\"WorkingDir\":\"\"}" spanID=203a210d6803cec8 traceID=2dacae4ca3bbda3a17e693d46e128615
time="2026-01-05T18:40:25.464520019+02:00" level=debug msg="container mounted via layerStore: /var/docker/vfs/dir/a6963ba3c534ea13ac35d4d52c3ac5d3b9fac731e647335db7d42da9487edf52" container=0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1
time="2026-01-05T18:40:25.616320883+02:00" level=debug msg="Calling POST /v1.47/containers/0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1/attach?stderr=1&stdin=1&stdout=1&stream=1" spanID=55ded01ac198af23 traceID=7eff8be81c963a59669dd4fc5e39b1eb
time="2026-01-05T18:40:25.617044664+02:00" level=debug msg="attach: stdin: begin"
time="2026-01-05T18:40:25.617368510+02:00" level=debug msg="attach: stdout: begin"
time="2026-01-05T18:40:25.617633737+02:00" level=debug msg="attach: stderr: begin"
time="2026-01-05T18:40:25.618061734+02:00" level=debug msg="Calling POST /v1.47/containers/0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1/wait?condition=next-exit" spanID=feaacbedaf3dad7b traceID=fe7f67e3ea54f02bcae23086be5b5e1d
time="2026-01-05T18:40:25.620287195+02:00" level=debug msg="Calling POST /v1.47/containers/0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1/start" spanID=562fbac465afea3d traceID=e916061151ff015945312fe43a3341e0
time="2026-01-05T18:40:25.620651987+02:00" level=debug msg="container mounted via layerStore: /var/docker/vfs/dir/a6963ba3c534ea13ac35d4d52c3ac5d3b9fac731e647335db7d42da9487edf52" container=0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1
time="2026-01-05T18:40:25.620926768+02:00" level=debug msg="Assigning addresses for endpoint dreamy_goldberg's interface on network bridge"
time="2026-01-05T18:40:25.621005983+02:00" level=debug msg="RequestAddress(LocalDefault/172.17.0.0/16, <nil>, map[])"
time="2026-01-05T18:40:25.621115553+02:00" level=debug msg="Request address PoolID:172.17.0.0/16 Bits: 65536, Unselected: 65533, Sequence: (0xc0000000, 1)->(0x0, 2046)->(0x1, 1)->end Curr:0 Serial:false PrefAddress:invalid IP "
time="2026-01-05T18:40:25.930877888+02:00" level=debug msg="Assigning addresses for endpoint dreamy_goldberg's interface on network bridge"
time="2026-01-05T18:40:26.262645169+02:00" level=info msg="No non-localhost DNS nameservers are left in resolv.conf. Using default external servers"
time="2026-01-05T18:40:26.450688112+02:00" level=debug msg="Programming external connectivity on endpoint dreamy_goldberg (55b0aa99c9872a167168668081c2dfd7ea4a31430034482cc9eddb48e9cd735f)" spanID=16d2dafc21c75a25 traceID=e916061151ff015945312fe43a3341e0
time="2026-01-05T18:40:26.613218285+02:00" level=debug msg="EnableService 0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1 START"
time="2026-01-05T18:40:26.613327998+02:00" level=debug msg="EnableService 0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1 DONE"
time="2026-01-05T18:40:26.663872235+02:00" level=debug msg="bundle dir created" bundle=/var/run/docker/containerd/0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1 module=libcontainerd namespace=moby root=/var/docker/vfs/dir/a6963ba3c534ea13ac35d4d52c3ac5d3b9fac731e647335db7d42da9487edf52
time="2026-01-05T18:40:27.299729344+02:00" level=error msg="stream copy error: reading from a closed fifo"
time="2026-01-05T18:40:27.314668684+02:00" level=error msg="stream copy error: reading from a closed fifo"
time="2026-01-05T18:40:27.314938682+02:00" level=debug msg="attach: stdout: end"
time="2026-01-05T18:40:27.315043570+02:00" level=debug msg="attach: stderr: end"
time="2026-01-05T18:40:27.315080748+02:00" level=debug msg="attach: stdin: end"
time="2026-01-05T18:40:27.315326895+02:00" level=debug msg="attach done"
time="2026-01-05T18:40:27.571515803+02:00" level=debug msg="Revoking external connectivity on endpoint dreamy_goldberg (55b0aa99c9872a167168668081c2dfd7ea4a31430034482cc9eddb48e9cd735f)" spanID=a16a436f51ffabb6 traceID=e916061151ff015945312fe43a3341e0
time="2026-01-05T18:40:28.219835103+02:00" level=debug msg="Releasing addresses for endpoint dreamy_goldberg's interface on network bridge"
time="2026-01-05T18:40:28.219969805+02:00" level=debug msg="ReleaseAddress(LocalDefault/172.17.0.0/16, 172.17.0.2)"
time="2026-01-05T18:40:28.220088172+02:00" level=debug msg="Released address Address:172.17.0.2 Sequence:Bits: 65536, Unselected: 65533, Sequence: (0xc0000000, 1)->(0x0, 2046)->(0x1, 1)->end Curr:3"
time="2026-01-05T18:40:28.473884399+02:00" level=error msg="Handler for POST /v1.47/containers/0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1/start returned error: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: can't get final child's PID from pipe: EOF: unknown" spanID=562fbac465afea3d traceID=e916061151ff015945312fe43a3341e0
time="2026-01-05T18:40:28.475275289+02:00" level=debug msg="Closing buffered stdin pipe"

containerd log:

time="2026-01-05T18:40:27.164623845+02:00" level=debug msg="shim bootstrap parameters" address="unix:///run/containerd/s/81e3a1cc8a060c5cacd6cd2f5c8c0735a14cf2a8a598abdd54331f1d6c3a399b" namespace=moby protocol=ttrpc
time="2026-01-05T18:40:27.179256154+02:00" level=info msg="loading plugin \"io.containerd.event.v1.publisher\"..." runtime=io.containerd.runc.v2 type=io.containerd.event.v1
time="2026-01-05T18:40:27.181830865+02:00" level=info msg="loading plugin \"io.containerd.internal.v1.shutdown\"..." runtime=io.containerd.runc.v2 type=io.containerd.internal.v1
time="2026-01-05T18:40:27.181968363+02:00" level=info msg="loading plugin \"io.containerd.ttrpc.v1.task\"..." runtime=io.containerd.runc.v2 type=io.containerd.ttrpc.v1
time="2026-01-05T18:40:27.183858906+02:00" level=debug msg="registering ttrpc service" id=io.containerd.ttrpc.v1.task
time="2026-01-05T18:40:27.183977367+02:00" level=info msg="loading plugin \"io.containerd.ttrpc.v1.pause\"..." runtime=io.containerd.runc.v2 type=io.containerd.ttrpc.v1
time="2026-01-05T18:40:27.184054789+02:00" level=debug msg="registering ttrpc service" id=io.containerd.ttrpc.v1.pause
time="2026-01-05T18:40:27.184465457+02:00" level=debug msg="serving api on socket" socket="[inherited from parent]"
time="2026-01-05T18:40:27.184646006+02:00" level=debug msg="starting signal loop" namespace=moby path=/tmp/run/containerd/io.containerd.runtime.v2.task/moby/0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1 pid=30864 runtime=io.containerd.runc.v2
time="2026-01-05T18:40:27.253107104+02:00" level=debug msg="failed to delete task" error="rpc error: code = NotFound desc = container not created: not found" id=0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1
time="2026-01-05T18:40:27.254079756+02:00" level=info msg="shim disconnected" id=0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1 namespace=moby
time="2026-01-05T18:40:27.254202017+02:00" level=warning msg="cleaning up after shim disconnected" id=0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1 namespace=moby
time="2026-01-05T18:40:27.254299748+02:00" level=info msg="cleaning up dead shim" namespace=moby
time="2026-01-05T18:40:27.295860426+02:00" level=warning msg="cleanup warnings time=\"2026-01-05T18:40:27+02:00\" level=debug msg=\"starting signal loop\" namespace=moby pid=30887 runtime=io.containerd.runc.v2\ntime=\"2026-01-05T18:40:27+02:00\" level=warning msg=\"failed to read init pid file\" error=\"open /tmp/run/containerd/io.containerd.runtime.v2.task/moby/0cac68dc70e1c3b7a08c4bcee42b447ca50bfc9b1492ccd87497457f5ea1eae1/init.pid: no such file or directory\" runtime=io.containerd.runc.v2\n" namespace=moby
time="2026-01-05T18:40:27.297663732+02:00" level=error msg="copy shim log" error="read /proc/self/fd/12: file already closed" namespace=moby

Any ideeas?

Thanks.

build.config

kernel.config

This isn’t a docker host. It’s an ordinary OpenWrt router where I wanted to add PiHole as a container.

Who’s “we” and what’s “lunch support”? Is it common for forum answers here to be paid?

Please repeat YOUR issue with standard OpenWrt build. You disabled bpf in kernel without any justification, no telling what rest of creativity holds.