Docker Создайте со статическим общедоступным IP-адресом через локальную сеть, но отличается от Host IP - PullRequest
0 голосов
/ 01 января 2019

У меня есть требование, когда мне нужно выставить все свои контейнеры через статический публичный IP.Однако статический общедоступный IP-адрес не может быть IP-адресом хоста, поскольку IP-адрес хоста должен быть динамическим.

2 решения, которые я нашел, это вторичный IP-адрес macvlan и linux, но, насколько я понимаю, они не могут удовлетворить мою потребность.

с macvlan каждый контейнер получит индивидуальный IP.Мне нужно получить доступ ко всем контейнерам через один и тот же IP-адрес.

с дополнительным IP-адресом Linux, я могу назначить один статический IP-адрес, который является эксклюзивным для моего док-контейнера.Однако я не нашел способа управлять /etc/network/interface внутри контейнера докера.

Мой вопрос:

  1. Можно ли установить все контейнеры, используя один и тот же IP, используяmacvlan?
  2. Есть ли способ управления /etc/network/interface, включая ifup и ifdown внутри контейнера докера?
  3. Есть ли альтернативный метод

Редактировать:Имидж - это дизайн системы для того, чего я хочу достичь:

System design

1 Ответ

0 голосов
/ 01 января 2019

Назначьте статический IP вашему хосту и используйте обычную опцию docker run -p.Хосту разрешено иметь несколько IP-адресов (по-видимому, он уже имеет свой динамический IP-адрес и внутренний адрес 172.17.0.1 Docker), и вы можете использовать дополнительный параметр для docker run -p 10.10.10.10:80:8888, чтобы связать его с конкретным адресом хоста (этим конкретным адресом).и никакой другой, порт 80, перенаправляет на порт 8888 в контейнере.

Еще одна хорошая настройка - это предоставить какой-либо балансировщик нагрузки, назначить ему статический IP-адрес и передать его хосту.,Это также полезно, если вы хотите установить некоторый уровень ограничения скорости или базовой HTTP-фильтрации на этом уровне.

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

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