When you start building your first containerized application, you’re excited about the capabilities and opportunities you encounter: it runs the same in dev and in prod, it’s straightforward to put together a container image using Docker, and the distribution is taken care of by a container registry.

So, you’re satisfied with how quickly you were able to containerize an existing, say, Python app, and now you want to connect it to another container that has a database, such as PostgreSQL. Also, you don’t want to have to manually launch the containers and implement your own system that takes care of checking if the containers are still running and, if not, relaunching them.

At this juncture, you might realize there’s a challenge you’re running into: container networking. Unfortunately, there are still a lot of moving parts in this domain and there are currently few best practice resources available in a central place. Fortunately, there are tons of articles, …