Хост "localhost" перезаписывает "localhost" в докере - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь запустить Vue Dashboard в Docker-контейнере и сервис на моей локальной машине. оба привязаны к "localhost: 80". При запуске панели мониторинга и службы в docer все работает нормально, но при запуске панели мониторинга в докере и втором сервисе на хост-машине хост-компьютер каким-то образом перезаписывает доступ к локальному хосту докера. Итак, ожидаемое поведение: - http://localhost -> должен загрузить приборную панель - http://localhost/graphql -> должен загрузить API для GraphQL из второго сервиса

так что они работают, когда оба работают в докере, но не работают, когда один находится в докере, а второй работает на исторических. Есть идеи, как решить проблему? Причина, по которой мне нужно, чтобы вторая служба работала на хосте, заключается в том, что я могу отлаживать и кодировать быстрее, вместо создания образа после каждого изменения кода и обновления стека.

Спасибо, Золи.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

проблема решена, на хосте мне пришлось сменить порт и он начал работать.поэтому, когда обе службы работают в докере, порт 80 может быть назначен 2 контейнерам и будет разрешен правильно.но когда один запускает его из докера, а другой на хосте, он не будет работать.это мое объяснение этому, может быть, кто-то может дать лучшее объяснение, но проблема решена сейчас.спасибо.

0 голосов
/ 05 апреля 2019

localhost внутри докера относится к самому контейнеру докера. Вы не можете получить доступ к фактическому хосту из докера.

Однако у вашего фактического хоста есть IP-адрес в сети Docker. Вы можете получить доступ к вашему фактическому хосту, используя этот IP. Вы можете получить это, выполнив ifconfig. Ищите интерфейс docker. В моей машине фактический хост имеет IP 172.17.0.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...