Docker is crazy simple, I love it.

What I don't like about Docker is it does not respect the firewall rules that I setup using something like ufw.

Docker doesn't change iptables as set up by ufw. do you have more info on your issue?

Docker does add iptables rules by default, which bypass other rules such as those you might set with ufw.

https://github.com/chaifeng/ufw-docker has a good overview and ufw-specific solution (I use it on my rpi).