concourse / concourse/docker-image-resource
dockerd crashes on Ubuntu 26.04 host
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 162
- Forks
- 250
- PR merge metrics
- No merged PRs in 30d
Description
Describe the bug
After upgrading our workers to Ubuntu 26.04, we started seeing the following errors from put steps:
time="2026-08-17T15:54:47.111921319Z" level=info msg="Deleting nftables IPv4 rules" error="exit status 1" output="Error: Could not process rule: No such file or directory\ndelete table ip docker-bridges"
time="2026-08-17T15:54:47.118765493Z" level=info msg="Deleting nftables IPv6 rules" error="exit status 1" output="Error: Could not process rule: No such file or directory\ndelete table ip6 docker-bridges"
...
time="2026-08-17T15:54:48.171794819Z" level=info msg="Daemon shutdown complete" error="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 --wait -t nat -N DOCKER: iptables v1.8.13 (legacy): can't initialize iptables table `nat': Table does not exist (do you need to insmod?)\nPerhaps iptables or your kernel needs to be upgraded.\n (exit status 3)"
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 --wait -t nat -N DOCKER: iptables v1.8.13 (legacy): can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
(exit status 3)
Reproduction steps
- Upgrade worker(s) to Ubuntu 26.04
- Attempt a
putstep to this resource
Expected behavior
dockerd starts up and creates the necessary firewall rules using either nft or iptables-nft wrapper.
Additional context
The errors are no doubt linked to the fact that since version 6.17 of the linux kernel, CONFIG_NETFILTER_XTABLES_LEGACY defaults to disabled. Ubuntu 26.04 is using version 7.0.
The wolfi-base image still has the iptables command symlinked to /usr/bin/xtables-legacy-multi, rather than /usr/bin/xtables-nft-multi. Replacing that was enough to progress further when hijacked into the container. I'll follow up with an upstream issue for them to update the symlink.
I also progressed further with the --firewall-backend nftables argument to dockerd, perhaps a generic daemon_args parameter could be added to support this?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the failure on an Ubuntu 26.04 worker with the wolfi-base image and inspect how dockerd is started for a put step. Compare the legacy iptables symlink with the nftables options described in the issue. Done means dockerd starts and creates the required firewall rules through nft or the iptables-nft wrapper.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go, linux, ubuntu
- Domain
- devops, infrastructure, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100