Docker stopped working after update to Fedora 42

I can no longer use Docker after updating from Fedora 41 to 42. Below are some of the errors which I am receiving:

any docker command

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
sudo systemctl start docker.service

Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xeu docker.service" for details.
journalctl -xeu docker.service

░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ An ExecStart= process belonging to unit docker.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Apr 28 23:07:47 fedora systemd[1]: docker.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit docker.service has entered the 'failed' state with result 'exit-code'.
Apr 28 23:07:47 fedora systemd[1]: Failed to start docker.service - Docker Application Container Engine.

I believe it might have something to do with the firewall because another application stopped working right after the update as well and it throws an error related to the firewall. I checked the firewall zones and surprisingly there is no docker interface:

firewall-cmd --get-active-zones

FedoraWorkstation (default)
  interfaces: enp86s0u1

I can also not remove docker because when I try to remove Docker as described here it returns:

No packages to remove for argument: docker
No packages to remove for argument: docker-client
No packages to remove for argument: docker-client-latest
No packages to remove for argument: docker-common
No packages to remove for argument: docker-latest
No packages to remove for argument: docker-latest-logrotate
No packages to remove for argument: docker-logrotate
No packages to remove for argument: docker-selinux
No packages to remove for argument: docker-engine-selinux
No packages to remove for argument: docker-engine

Nothing to do.

Does anyone have any ideas how to fix this and get Docker working again?

Thanks in advance.

1 Like

in new package iptables-utils-1.8.11-6.fc42.x86_64.rpm path is changed, this should help:
sudo ln -s /usr/sbin/iptables-nft /usr/sbin/iptables
sudo ln -s /usr/sbin/ip6tables-nft /usr/sbin/ip6tables

2 Likes

I had the same, or very similar, issue with the error:

failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to register "bridge" driver: failed to create NAT chain DOCKER: COMMAND_FAILED: INVALID_IPV: 'ipv4' is not a valid backend or is unavailable

The fix for me was:

sudo dnf install -y iptables-legacy

and reboot.

1 Like

Yes, I saw that there is a bug report on the Red Hat site and the solutions were the same as what you guys suggested. Thanks a lot for the help :slight_smile:

Maybe we can leave this here in case others encounter the same issue after updating Fedora.

Whole night yesterday, I was pulling my hair out… This helped me. Thanks.