Well the services would have to speak the same event or messaging system, whatever it may be. Then you’d just need to bridge the networks of the containers, or have them speak to endpoints in each side.
There is no universal messaging system between all pieces of software though. Maybe figure out what you’re sending to first, then work back from there. There’s nothing blocking you from sending data between two containers in a variety of ways though.
You need a public DNS record that points to your public IP of your server.