Для чего используется "Docker Su bnet"? - PullRequest
0 голосов
/ 11 июля 2020

В docker -desktop есть опция, позволяющая изменить "Docker su bnet". И я не вижу, чтобы этот su bnet 192.168.65.0/28 по умолчанию где-либо использовался.

Docker вс bnet

Я пробовал docker network inspect в каждой Docker внутренней сети, проверял docker -desktop WSL2 distro и мой Windows хост на предмет маршрутов или IP-адресов, но я не вижу этого значения по умолчанию su bnet используется где угодно (даже при настройке собственного).

Это не меняет su bnet, используемое в docker network inspect bridge или любом другом.

Я изо всех сил пытаюсь найти какую-либо документацию о том, что это такое и / или для чего он использовался.

1 Ответ

2 голосов
/ 11 июля 2020

По большей части это внутренняя деталь реализации, о которой вам не нужно беспокоиться.

Единственный раз, когда вам действительно нужно изменить это значение, - это если ваша хост-сеть имеет тот же адрес. В этом случае вы можете изменить это на все, что не конфликтует. Если ваша хост-сеть, например, 192.168.65.0/24, вы можете изменить сеть Docker на 192.168.66.0/24 (или / 28), и она будет работать нормально.

Внутренне контейнеры имеют индивидуальные IP-адреса, и это su bnet по умолчанию, из которого они назначаются. Если вы docker network create сеть или используете Docker Compose, будет выделен новый su bnet. Это почти полностью деталь реализации, и вам никогда не нужно знать эти адреса: извне Docker вы не можете получить доступ к этим адресам (*), а внутри Docker он предоставляет систему DNS, поэтому вы можете использовать имена контейнеров в качестве хоста. имена.

Точнее, если вы

docker run --rm busybox ifconfig

вы увидите адрес из этого su bnet.

(*) ... кроме одного очень специфический c случай подключения с консоли нативного Linux хоста, на котором фактически запущены контейнеры; но никогда с других хостов, или если вы используете Docker Toolbox или Docker Desktop.

...