Назад | Перейти на главную страницу

Предоставление docker-контейнеров сети vpc

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

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

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

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

Два моих сервера могут пинговать себя.

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

Любая идея ?

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

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

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

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

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