Вопрос: Экспортировать контейнеры докеров в сеть vpc


У меня есть сервер ubuntu, в котором работает докер с одним контейнером. Мой ip-адрес сервера - 172.31.12.29/20 в моем vpc. Он имеет буксирные мосты (docker0 ans lxcbr0).

Мой IP-адрес контейнера - 172.17.0.2/16.

Хост и контейнер могут пинговать сами.

У меня есть другой сервер в моем vpc с 172.31.1.233/20 для ip-адреса. Я просто хочу, чтобы я дошел до контейнеров с этого сервера, но я не знаю, как это сделать.

Мои два сервера могут пинговать.

Я пытаюсь настроить эту таблицу маршрутов vpc для маршрутизации 172.17.0.0/16 целевых запросов на 172.31.12.29, но это не сработает.

Есть идеи ?


7
2018-01-21 10:39


Источник




Ответы:


Похоже, вам также нужно отключить проверку IP-адреса Source / Destination на экземпляре, где размещаются контейнеры (и вам нужен статический маршрут в таблице маршрутов VPC, указывая на этот экземпляр по id). Сетевая инфраструктура VPC снижает IP-трафик с IP-адресами, которые не имеют смысла в зависимости от того, что инфраструктура знает внутри IP-адресов, связанных с каждым экземпляром. Этот параметр изменяет эту функциональность в тех случаях, когда вы ее применяете. Если у вас есть экземпляр NAT, вы заметите, что это уже сделано для этого экземпляра, иначе он не сможет маршрутизировать внешний трафик в / из других экземпляров.

http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-ModifyInstanceAttribute.html

Это также относится к действиям экземпляра в консоли.


5
2018-01-21 13:17





Вы можете открыть порт контейнера (docker run -p 1234: 1234) и подключиться к вашему адресу экземпляров ec2 (10.x.y.z: 1234)

Чтобы избежать адресов жесткого кодирования на стороне потребителя, вы можете использовать шаблон посла: https://docs.docker.com/engine/admin/ambassador_pattern_linking/


0
2018-02-06 15:44