Have you tried to install an older version of Docker Engine just to check if that works? I installed Docker Engine on Arm, but not 24.0 yet, only 23.0 and I used an Ubuntu VM, not Debian.
Searching for the error messag about iptables I found these
Do you have any security software on Debian? Firewalld and AppArmor are mentioned on the net as well, and someone just updated the APT packages on the OS which fixed the issue. I found this in the release info of Docker 24.0.0
Remove workarounds for obsolete versions of apparmor_parser from the AppArmor profiles. moby/moby#45500
I don’t know if it is related, I really just did a quick search and shared the links.
I found references to the fact that Debian moving on to ‘nft’ over iptables, is at the core of the issue. In fact, by forcing use if iptables (legacy) configuration then re-installing docker-ce worked, i.e. finished configuration at install.
I then tried to re-enable nft use, converting the iptables rule set to nft compatible, but nft does not show any configured rules after export from iptables and import to nft. Which is really odd.
Root issue is docker-ce package can’t handle the NAT chain via nft but requires iptables, which Debian has abandoned for nft.
The following steps worked to get past the initial issue:
I realized I had a test virtual machine with Debian 11 and Docker in it (24.0.2) which workes. I installed Docker when it was just 20.10. I guess the configuration you needed was done automtically for me. Is everything working now on your machine?
Once I forced back to iptables legacy support, docker worked. So the bottom line is the current docker ce package can’t install correctly and start service correctly with tptables 1.8.7 or using nft rules.