When you start building applications with Docker, you'll come up against two significant challenges: networking and service discovery. You can find many recipes for dealing with these tasks if you’re prepared to scrounge through a pile of blog posts. In this short guide, author Michael Hausenblas, Developer and Cloud Advocate at Mesosphere, explains how networking and service discovery work in the Docker world, and provides a series of practical solutions for dealing with these challenges.