Проверьте это поток для понимания концептуально.
Сеть моста: Мост - это сеть по умолчанию в Docker, которая также называется Docker0.Это сеть по умолчанию, которая соединяет через межсетевой экран NAT с физическим, к которому подключен ваш хост.Но нас это не волнует, поскольку все контейнеры будут подключаться к этой сети и работать.
Если у вас запущены какие-либо контейнеры, вы можете проверить сеть моста как,
$ docker network inspect bridge
"Containers": {
"145a2716d018c6fe8e9f93a81d88afd5a7437f0084ddb170c40761818e6d2f67": {
"Name": "nginx",
"EndpointID": "ea6cfa433f41e21e572f17473c8e5f5e5d82e9f19646e66fe23abda20a3836b8",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
}
},
Примечание. Вы можете видеть, что автоматический IP-адрес, назначенный контейнеру из подсети конфигурации IPAM.
Учтите, у вас есть несколько работающих док-станций, в которых каждый докер-хост имеет свою собственную внутреннюю частную мостовую сеть, позволяющуюконтейнеры для связи друг с другом, однако контейнеры на хосте не могут взаимодействовать друг с другом, если вы не опубликуете порты этих контейнеров и не настроите маршрутизацию самостоятельно.Здесь оверлейная сеть вступает в игру.С помощью Docker Swarm вы можете создать оверлейную сеть, которая создаст внутреннюю частную сеть, охватывающую все узлы, участвующие в сети Swarm. Мы могли бы присоединить контейнер или службу к этой сети, используя параметр сети при создании службы.Таким образом, контейнеры через узлы могут связываться по этой оверлейной сети.
$ docker network create --driver overley --subnet 10.0.9.0/24 overley_network
$ docker service create --replicas 3 --network overley_network nginx
Надеюсь, это поможет.