The fact that ufw doesn't play well with iptables sounds like a good reason not to use it.
(Yes yes I know iptables is antiquated but they should still be compatible with each other at the kernel level)
(Yes yes I know iptables is antiquated but they should still be compatible with each other at the kernel level)
Personally I think the real problem here is docker. Injecting rules into iptables is a bit like blindly injecting lines of code into someone else's program sight unseen. I'm not aware of any other tools that are nearly so willing to do so.