Виртуальный адаптер Route / Bridge docker с виртуальным адаптером zerotier

У меня есть куча серверов, работающих в контейнерах docker с docker-for-windows. Из-за того, как docker работает в windows, все они попадают внутрь виртуальной машины hyper-v, а затем контейнеры запускаются там. Поэтому для доступа к серверу, привязанному к localhost, я фактически использую ip виртуального адаптера hyper-V.

enter image description here

enter image description here

enter image description here

поэтому я могу подключиться к своему серверу, используя 10.0.75.2:3579, когда im на хост-компьютере windows. Теперь я хочу, чтобы пользователь zerotier связал все мои контейнеры docker с виртуальной локальной сетью, чтобы я мог получить доступ к своим контейнерам за пределами моей сети школ. ZeroTier создает виртуальный адаптер под названием " zerotier one virtual port": enter image description here Как это работает сейчас, если я запускаю серверы на хост-машине windows (голый металл), то я могу получить к ним доступ, используя свой ip-адрес zerotier 10.147.17.221:порт. Но это не связывает мои вещи docker с его на другом адаптере, то есть я должен быть физически на машине, чтобы делать любые связанные с Докером вещи. Как маршрутизировать или соединять адаптер zerotier с адаптером docker hyper-v, чтобы получить доступ к контейнерам docker извне с помощью ip-адреса zerotier?

3 ответов


У меня нет виртуальной машины windows, чтобы попробовать это, но будет использовать сеть docker для этой цели. Например:

docker network create частная

docker run --rm --name web --network private - p host_port_1: container_port_1 - p host_port_2: container_port_2 nginx: последние

docker run --rm --name db --network private - p host_port_3: container_port_1 - p host_port_4: container_port_2 postgres: последние

Дайте мне знать, как это происходит.


лучшее решение, которое я придумал, - не использовать zerotier. Я переключился на ngrok, который позволяет перенаправлять на локальный ip-адрес тривиально


  • создать управляемую такой маршрут на ZeroTier сети: [10.0.75.0/24] - [10.147.17.211]
  • включить переадресацию IP в Windows.

это добавит статический маршрут ко всем узлам ZeroTier в вашей сети, чтобы они знали, как использовать нулевой IP-адрес вашей виртуальной машины hhost в качестве маршрута к локальной сети docker.