Thanks for the technical details! You’re right about nf_tables being the default in RHEL/Rocky 8+.
In my case, the issue was simply that kernel-modules-extra wasn’t installed by default, and Docker (even with nf_tables) still needs the xt_addrtype module for its networking rules.
As noted in Docker’s nftables documentation Docker with nftables | Docker Docs , nftables support is still experimental, and Docker currently uses the iptables compatibility layer which still requires these kernel modules.
The steps I shared worked for getting Docker running on a fresh Rocky Linux 10 install, regardless of whether it’s using iptables or nf_tables backend. Hopefully Docker will fully transition to native nf_tables soon!