Докер, использующий ip не в vpc - PullRequest
0 голосов
/ 13 октября 2018

Так что я не мог понять, почему я не мог подключиться к своим контейнерам с общедоступного IP-адреса, пока не узнал, по какому IP-адресу прослушивались порты док-станции ... если вы видите, что ifconfig показывает 172 ... это недопустимо в моемvpc ... вы можете увидеть ниже, я не использую 172 в моем vpc ... так что ... я не уверен, откуда это получается ... должен ли я создать новую подсеть в новом vpn и просто сделать ами изапустить его в новом vpc с соответствующей подсетью?я могу поменять докер ip / port на его прослушивание?

ifconfig
br-387bdd8b6fc4 Link encap:Ethernet HWaddr 02:42:69:A3:BA:A9
inet addr:172.18.0.1 Bcast:172.18.255.255 Mask:255.255.0.0
inet6 addr: fe80::42:69ff:fea3:baa9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:114269 errors:0 dropped:0 overruns:0 frame:0
TX packets:83675 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11431231 (10.9 MiB) TX bytes:36504449 (34.8 MiB)

docker0 Link encap:Ethernet HWaddr 02:42:65:A6:7C:B3
inet addr:172.17.0.1 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

eth0 Link encap:Ethernet HWaddr 02:77:F6:7A:50:A6
inet addr:10.0.140.193 Bcast:10.0.143.255 Mask:255.255.240.0
inet6 addr: fe80::77:f6ff:fe7a:50a6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1
RX packets:153720 errors:0 dropped:0 overruns:0 frame:0
TX packets:65773 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:209782581 (200.0 MiB) TX bytes:5618173 (5.3 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:30 errors:0 dropped:0 overruns:0 frame:0
TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2066 (2.0 KiB) TX bytes:2066 (2.0 KiB)

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain DOCKER (2 references)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 172.18.0.11 tcp dpt:389
ACCEPT tcp -- 0.0.0.0/0 172.18.0.13 tcp dpt:9043
ACCEPT tcp -- 0.0.0.0/0 172.18.0.13 tcp dpt:7777
ACCEPT tcp -- 0.0.0.0/0 172.18.0.3 tcp dpt:9443
ACCEPT tcp -- 0.0.0.0/0 172.18.0.7 tcp dpt:443
ACCEPT tcp -- 0.0.0.0/0 172.18.0.8 tcp dpt:443
ACCEPT tcp -- 0.0.0.0/0 172.18.0.9 tcp dpt:443

DockerSubnet1-Public 10.0.1.0/24
DockerSubnet2-Public 10.0.2.0/24
DockerSubnet3-Private 10.0.3.0/24
DockerSubnet4-Private 10.0.4.0/24
Private subnet 1A 10.0.0.0/19
Private subnet 2A 10.0.32.0/19
Public subnet 1 10.0.128.0/20
Public subnet 2 10.0.144.0/20 

Ответы [ 2 ]

0 голосов
/ 14 октября 2018

Я так и не понял, почему ... я разрешил весь входящий и исходящий трафик в группах безопасности, сетевых списках доступа и т. Д. И т. Д. Я сделал ами из своего экземпляра, скопировал его в другой регион с недавно созданным vpc иразвернут там.Оно работает!!Обсуждаем это до AWS VPC.Спасибо за разъяснение 172.x Я не знал, что было между контейнерами докеров ... теперь имеет смысл.

0 голосов
/ 13 октября 2018

Стандартный способ использования сетевых подключений Docker - опция командной строки docker run -p.Если вы запустите:

docker run -p 8888:80 myimage

Docker автоматически настроит переадресацию порта с порта 8888 на хосте на порт 80 в контейнере.

Если ваш хост имеет несколько интерфейсов (вы намекаете на«публичный IP», хотя он не отображается отдельно в вашем ifconfig выводе), вы можете настроить его на прослушивание только одного из них, добавив IP-адрес

docker run -p 10.0.140.193:8888:80 myimage

Внутренний DockerАдреса 172.18.0.0/16 по сути бесполезны. Они являются важной деталью реализации при взаимодействии между контейнерами, но Docker предоставляет внутреннюю службу DNS, которая разрешает имена контейнеров во внутренние IP-адреса.Чтобы понять, как общаться с контейнером «извне», вам не нужны эти IP-адреса.

Терминология в вашем вопросе сильно намекает на Amazon Web Services.Распространенной проблемой здесь является то, что ваш экземпляр EC2 работает в группе безопасности (брандмауэр сетевого уровня), которая не разрешает входящее соединение.

...