6. Docker Network
Create a new docker network and connect both containers to that network
Containers on the same network can use the others container name to communicate with each other
Bridge - multiple containers to communicate on the same Docker host
Host - network stack should not be isolated from the Docker host
Overlay - containers running on different Docker hosts to communicate
Macvlan - your containers will look like physical hosts on your network
6.1. Adapters

Figure 6.1. Docker network


Bridge:
Best when you need multiple containers to communicate on the same Docker host
Host:
Best when the network stack should not be isolated from the Docker host, but you want other aspects of the container to be isolated
Overlay:
Best when you need containers running on different Docker hosts to communicate, or when multiple applications work together using swarm services
Macvlan:
Best when you are migrating from a VM setup or need your containers to look like physical hosts on your network, each with a unique MAC address
6.2. Create network
Automatic address:
$ docker network create mynetwork
Specific address:
$ docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 mynetwork
6.3. List networks
$ docker network ls
6.4. Delete network
$ docker network rm mynetwork
6.5. Connect running container to network
$ docker run -d --name host1 -it alpine sh
$ docker run -d --name host2 -it alpine sh
$ docker network create mynetwork
$ docker network connect mynetwork host1
$ docker network connect mynetwork host2
6.6. Connect new container to network
$ docker network create mynetwork
$ docker run -d --network mynetwork --name host1 -it alpine sh
$ docker run -d --network mynetwork --name host2 -it alpine sh
$ docker exec host1 ping -c4 host2
$ docker exec host1 ping -c4 host2
6.7. Inspect network
$ docker network inspect