Я бег virtualbox
локально, и я использовал перенаправление портов как этогоVirtualbox перенаправления портов с грузчиком
0.0.0.0:7000 -> 0.0.0.0:7000
, так что я могу сделать
curl http://localhost:7000
от хоста в виртуальную машину и быть в состоянии взаимодействовать с приложением, запущенным в vm, и прослушивать порт 7000
.
Можно ли сделать обратное? Я хочу, чтобы установить порт вперед, чтобы иметь возможность
curl http://localhost:6000
из моей виртуальной машины и быть в состоянии общаться с приложением, которое работает на хосте и прослушивает порт 6000
.
Я использую NAT
.
Я уже знаю о мостовой сети и об использовании сетевого IP-адреса моего хоста. Я не могу их использовать. Все, что меня интересует, это выше.
Exclaimer:
Причина ограничений выше, потому что я использую dinghy
с docker
и docker-machine
. Если я изменю сеть на что-то еще, чем NAT
, настройка будет нарушена. Более того, я не могу использовать что-то еще, кроме localhost
, так как это настройки по умолчанию, которые имеют приложения, и мне они нужны для общения, как если бы они выполнялись как на хосте.
Итак, докер работает внутри vm? Что такое ОС хоста? –
Извините, я забыл добавить, что Mac OSX El Capitan – alkis
Я думаю, что есть три возможных варианта: 1. Настроить туннель SSH с помощью 'ssh -R', см. Http://unix.stackexchange.com/questions/46235 /, как-никак-реверс-SSH-туннелирование-работы. 2. Настройте обратный прокси Nginx или Apache на vm для пересылки трафика на хост. 3. Заставляйте виртуальную машину думать, что «localhost» - это ваш IP-адрес хоста, добавив его в файл '/ etc/hosts' (это может потенциально рисковать другими службами, которые могут зависеть от локального хоста 127.0.0.1) –