Networking and orchestration
We started off the chapter by saying that containers are completely self-contained, and have no access to each other, even if they're running on the same host. But to run real applications, we need containers to communicate. Fortunately, there is a way to do this: the Docker network.
Connecting containers
A Docker network is like a private chat room for containers: all the containers inside the network can talk to each other, but they can't talk to containers outside it or in other networks, and vice versa. All you need to do is have Docker create a network, give it a name, and then you can start containers inside that network and they will be able to talk to each other.
Let's develop an example to try this out. Suppose we want to run the Redis database inside a container, and send data to it from another container. This is a common pattern for many applications.
In our example, we're going to create a Docker network, and start two containers inside it. The first...