I’ve been running straight Ubuntu with ZFS-on-Linux since 18.04, and it has been smooth sailing. If you’re running a lot of containerized things it’s very convenient to just be able to bind mount ZFS dataset into containers.
Normally I prefer CentOS/RockyLinux, or some other EL distribution, but in this case I really appreciate that Canonical isn’t purist enough to ship ZFS as a loadable kernel module that is guaranteed to be in sync with the shipped kernel. And don’t have to deal with DKMS.
You can bind an exposed port to a specific IP by prefixing the IP address like this “-p xxx.xx.x.360:80:80”. Should work in a compose file “ports” list as well.
For outgoing traffic it’s a bit trickier, but if you create a separate network I think it should be possible to inject an iptables SNAT rule to use a specific source IP. Might be handy to make sure you’re sending emails from the correct IP but with your setup I would just make sure to use the primary IP as email egress…