Доступ к док-контейнеру, работающему на виртуальной машине, с ПК, подключенного к локальной сети.

Я хочу запустить лабораторию данных Google Earth Engine на сервере и получить к ней доступ с другого ПК в локальной сети. ОС сервера — Windows Server 2012. Итак, после https://developers.google.com/earth-engine/python_install-datalab-local я сделал:

  1. Установите панель инструментов Docker
  2. Определить локальное рабочее пространство
  3. Создайте контейнер, но изменив: -p "127.0.0.1:8081:8080" на -p "8081:8080". Это полная команда:

docker run -it -p "8081:8080" -v "$WORKSPACE:/content" -e "PROJECT_ID=$GCP_PROJECT_ID" $CONTAINER_IMAGE_NAME (см. ссылку

Он работает, и я могу получить к нему доступ через 192.168.99.100:8081. Но это работает только для локального хоста, поэтому я последовал этому ответу https://stackoverflow.com/a/36458215/2791453, сделал все шаги, и теперь я открываю браузер на сервере и получаю доступ к Datalab через 196.168.0.55:8081 (это адрес локальной сети сервера), но я не могу получить к нему доступ с другого компьютера, подключенного к локальной сети.


person Rodrigo E. Principe    schedule 20.03.2018    source источник
comment
это может быть проблема с брандмауэром, маршрутизатором или чем-то еще, можете ли вы ping 196.168.0.55 с другого хоста в локальной сети?   -  person Mazel Tov    schedule 20.03.2018
comment
да, я могу ping   -  person Rodrigo E. Principe    schedule 20.03.2018
comment
порт открыт для хоста? что выводит nc -z 196.168.0.55 8081 -v?   -  person Mazel Tov    schedule 20.03.2018
comment
@MazelTov nc: connect to 196.168.0.55 port 8081 (tcp) failed: Connection timed out   -  person Rodrigo E. Principe    schedule 21.03.2018
comment
что я должен разрешить через брандмауэр? Виртуальный бокс?   -  person Rodrigo E. Principe    schedule 21.03.2018
comment
я бы сказал, что это проблема с брандмауэром на хосте Windows, попробуйте временно отключить его и посмотреть, работает ли он   -  person Mazel Tov    schedule 21.03.2018
comment
Да! ты был прав! это был брандмауэр, я добавил правило для порта 8081 и оно работает! опубликуйте свой ответ, и я принимаю его. Благодарю вас!   -  person Rodrigo E. Principe    schedule 21.03.2018


Ответы (1)


похоже проблема с брандмауэром. вы можете проверить, что сеть работает нормально с другого хоста с помощью ping

ping 196.168.0.55

если все в порядке, вы можете проверить, открыт ли порт с помощью netcat

nc -z 196.168.0.55 8081 -v

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

person Mazel Tov    schedule 21.03.2018