IP для каждого контейнера Docker работает на экземпляре GCP - PullRequest
0 голосов
/ 07 мая 2019

Мне нужно создать один контейнер Docker и прикрепить к нему выделенный IP-адрес. Механизм Docker работает на экземпляре GCP.
Как правильно настроить сеть Docker?

на уровне GCP
Я использовал функцию alias-IP, чтобы иметь диапазон IP-адресов.

На уровне ОС
Я пытался использовать два типа сетей Docker, которые настроены на диапазон псевдонимов IP:
- Водитель моста
- Драйвер Macvlan

Контейнер имеет свой IP-адрес:

root@instance-2:~# docker inspect container01 | grep IPA
            "SecondaryIPAddresses": null,
            "IPAddress": "",
                    "IPAMConfig": null,
                    "IPAddress": "10.165.5.9",

Сеть Bridge Docker подключена к eth0 и имеет тот же шлюз:

root@instance-2:~# ip route | grep default
default via 10.165.0.1 dev eth0
root@instance-2:~# docker network inspect bridge02 | grep Gateway
                    "Gateway": "10.165.0.1"

Сетевая подсеть Docker:

root@instance-2:~# docker network inspect bridge02 | grep Subnet
                    "Subnet": "10.165.5.0/18",

Результаты:
1. SSHing с IP-адресом, прикрепленным к контейнеру Docker.
Ожидаемый результат: SSH к контейнеру
Фактический результат: SSH к инстанции GCP
2. Попытка пинговать изнутри Контейнера до внешнего мира и до его шлюза.
Ожидаемый результат: успешный пинг
Фактический результат: не удается пропинговать

bash-4.3# ping -c2 10.165.0.1
PING 10.165.0.1 (10.165.0.1) 56(84) bytes of data.
From 10.165.5.9 icmp_seq=1 Destination Host Unreachable
From 10.165.5.9 icmp_seq=2 Destination Host Unreachable

--- 10.165.0.1 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1006ms
pipe 2
...