Указание сетевого ip-докера
Я использую docker для развертывания ансамбля zookeeper и столкнулся с проблемой, которая, по моему мнению, связана с использованием прокси-докера для localhost.
Изменить: проблема в том, что когда я закрываю соединения, они остаются в TIME_WAIT
Я хочу изменить ip для своих контейнеров на что-то другое в частном адресном пространстве, например, в подсети 192.168.0.0, и посмотреть, решит ли это проблему.
Любое руководство будет высоко ценится
Вот часть моего текущего docker-compose.yml:
version: '2'
services:
zoo1:
image: zookeeper
restart: always
ports:
- 2181:2181
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 server.4=zoo4:2888:3888 server.5=zoo5:2888:3888
zoo2:
image: zookeeper
restart: always
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 server.4=zoo4:2888:3888 server.5=zoo5:2888:3888
1 ответ
Из документации докера, когда вы запускаете демон докера, вы можете передать следующие параметры:
--bip = CIDR: указать конкретный IP-адрес и маску сети для моста docker0, используя стандартную нотацию CIDR. Например: 192.168.1.5/24.
--fixed-cidr = CIDR и --fixed-cidr-v6=CIDRv6: ограничить диапазон IP-адресов из подсети docker0, используя стандартную запись CIDR. Например: 172.16.1.0/28. Этот диапазон должен быть диапазоном IPv4 для фиксированных IP-адресов, например 10.20.0.0/16, и должен быть подмножеством диапазона IP-адреса моста (docker0 или установлен с использованием --bridge). Например, при --fixed-cidr=192.168.1.0/25 IP-адреса для ваших контейнеров будут выбираться из первой половины адресов, включенных в подсеть 192.168.1.0/24.