Docker docs:
Docker routes container traffic in the nat table, which means that packets are diverted before it reaches the INPUT and OUTPUT chains that ufw uses. Packets are routed before the firewall rules can be applied, effectively ignoring your firewall configuration.
it does not solve portability across OS families. you can’t run a windows based docker image on linux, and running a linux image on windows is solved by starting a linux VM.
Oh, fair. That’s a good point.