Docker 1.12 swarm still needs http (reverse) proxy?

I would love more info on this very question. I’ve played around with a local swarm created via docker-machine. I’ve been able resolve dns for a specific service but only from within another container(on the same network mess). What is the best way to expose these services without static host to container port mapping?