Prosody is probably your best bet. It’s modular, easily configurable and is basically fully compliant with the XMPP specification. For your bridges however, I’d reccomend not going fully into XMPP because there are very little bridges available for it. As for dockerization, apparently they are not currently updating their dockerfiles, so this is another thing to take into account.
Welcome – Prosody IM

Prosody is a Jabber/XMPP server written in Lua

It’s distributed through standard package managers, it would be trivial to create a Dockerfile to make your own container.
snikket is prosody’s little sister. docker ready