Как добраться до сети Docker с хоста с помощью DNS? - PullRequest
0 голосов
/ 08 февраля 2019

В локальной разработке я часто использую docker-compose для таких сервисов, как db, которые мало двигаются только ради простоты и изоляции от моего хоста.

Типичный пример прямо сейчас - я разрабатываюоснованный на узле SPA с webpack и поддерживающим mongodb.При развертывании они связаны с Kubernetes.

Локально, при разработке приложения Я определенно хочу использовать его на хосте из-за производительности, но для поддержки mongodb я просто использую простойдокер-Compose.Поэтому я просто настроил это так, как обычно:

version: '3.7'
services:
  mongo:
    image: mongo:4.1.7-xenial
    command: "mongod"
    ports: 
      - 5000:27017
    volumes:
      - kb-front-db:/data/db
volumes:
  kb-front-db:

Однако на этот раз я получил коллизию на хост-порту 5000, потому что я уже использовал это для другого проекта.И у меня есть довольно много таких проектов.

Итак… я действительно не хочу придумывать какую-то схему нумерации портов для всех моих проектов, чтобы избежать коллизий, поэтому я стремлюсь кдокументы, чтобы найти способ использовать DNS или просто сетевое имя док-станции моста с хоста ...?Но мои навыки поиска подводят меня здесь, я просто не могу найти способ ...?Я нахожу много документации о том, как достичь из из контейнера на хост, но по какой-то причине не наоборот, не выставляя вручную HOST_PORT.

Я просто хочу найти способподключиться к док-контейнеру на CONTAINER_PORT от хоста, используя какое-то наименование, которое проще в моей голове, чем номера портов?

Может быть, я упускаю что-то сверх очевидное здесь ... Любые советы высоко ценятся!

1 Ответ

0 голосов
/ 15 февраля 2019

Невозможно направить трафик от хоста к контейнерам Docker в режиме моста в OSX:

Docker Desktop для Mac не может перенаправить трафик к контейнерам

Рекомендуемое решение - именно то, чего я пытаюсь избежать:

Наша текущая рекомендация - опубликовать порт или подключиться из другого контейнера.Это то, что вам нужно делать даже в Linux, если контейнер находится в оверлейной сети, а не в мостовой сети, поскольку они не маршрутизируются.

https://docs.docker.com/docker-for-mac/networking/

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