How to make docker only use a private network to communicate with other hosts?

August 29, 2015 2.8k views
Docker Networking

Hello! How can I configure Docker to exclusively use this private network? How to make the network interface that the docker creates docker0 only use the private network?

1 Answer

At its simplest, you can bind a container to a specific network at runtime. For example, the nginx container exposes port 80. To bind that to port 8080 on your Droplet's private network, run:

  • docker run -p nginx

Docker also provides many more complex networking options. For a high level overview, see:

For a deeper dive, take a look at "Understand Docker container networks" from the Docker docs.

Using some of the concepts covered there, you could also create a new bridge network that is available over your private IP address. For example,

  • docker network create -o ""="" privnet

Now to specify that a container should use this new bridge network instead of using docker0, run it with:

  • docker run --net=privnet -p 8080:80 nginx
When constructing distributed systems to serve Docker containers, communication and networking become extremely important. Service-oriented architecture, undeniably, relies heavily upon communication between components in order to function correctly. In this guide, we...
Have another answer? Share your knowledge.