Based on:
One of the reasons Docker containers and services are so powerful is that you can connect them together or connect them to non-Docker workloads. Docker containers and services can be made aware of whether they are deployed on Docker or whether their peers are also Docker workloads. Whether your Docker hosts run Linux, Windows, or a mix of the two, you can use Docker to manage them in a platform-agnostic way.
This section introduces some basic Docker networking concepts and prepares you to design and deploy your applications to take full advantage of these capabilities.
Docker’s networking subsystem is pluggable and uses drivers. Several drivers exist by default and provide core networking functionality. The most relevant are:
bridge
: The default network driver. If you don’t specify a driver, this is the type of network you are creating. Bridge networks are usually used when your applications run in standalone containers that need to communicate.host
: For standalone containers, remove network isolation between the container and the Docker host, and use the host’s networking directly.none
: For this container, disable all networking. Usually used in conjunction with a custom network driver.And also:
overlay
: Overlay networks connect multiple Docker daemons together and enable swarm services to communicate with each other. You can also use overlay networks to facilitate communication between a swarm service and a standalone container or between two standalone containers on different Docker daemons.macvlan / ipvlan
: Macvlan networks allow you to assign a MAC address to a container, making it appear as a physical device on your network. The Docker daemon routes traffic to containers by their MAC addresses. Using the macvlan driver is sometimes the best choice when dealing with legacy applications that expect to be directly connected to the physical network, rather than routed through the Docker host’s network stack.Network plugins
: You can install and use third-party network plugins with Docker. These plugins are available from Docker Hub or from third-party vendors.Source: https://docs.docker.com/network/network-tutorial-standalone/
This section includes two different parts:
Use the default bridge network demonstrates how to use the default bridge network that Docker sets up for you automatically.
Using user-defined bridge networks shows how to create and use your own custom bridge networks to connect containers running on the same Docker host. This is recommended for standalone containers running in production.
In this example, we use two different alpine
containers on the same Docker host and do some tests to understand how they communicate with each other.