Виртуальный адаптер Route / Bridge docker с виртуальным адаптером zerotier
У меня есть куча серверов, работающих в контейнерах docker с docker-for-windows. Из-за того, как docker работает в windows, все они попадают внутрь виртуальной машины hyper-v, а затем контейнеры запускаются там. Поэтому для доступа к серверу, привязанному к localhost, я фактически использую ip виртуального адаптера hyper-V.
поэтому я могу подключиться к своему серверу, используя 10.0.75.2:3579, когда im на хост-компьютере windows. Теперь я хочу, чтобы пользователь zerotier связал все мои контейнеры docker с виртуальной локальной сетью, чтобы я мог получить доступ к своим контейнерам за пределами моей сети школ. ZeroTier создает виртуальный адаптер под названием " zerotier one virtual port": Как это работает сейчас, если я запускаю серверы на хост-машине 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.