Consul is great, I saw that
keen.io wrote a patch for marathon that integrates with it, hoping that gets pulled into the next release. Basically, the way I *think* they designed consul to run is for every host to have an agent running, then the mesos masters would have the consul servers. So, from any host you could basically DNS / HTTP against localhost for lookup. Obviously with docker that becomes an issue - I was playing with the idea of having consul running in my container, but I couldn't find a clean hook that I could use for the consul agent to gracefully leave when the container shuts down (though, I'm new to Docker, I might have missed something). Hardest part with scala is getting a good scala / java based reactive DNS client (I ended up just using Consul's HTTP interface).
Good luck!
-PW