Задать вопрос
@tikhonov_alexander

Docker+nodejs+5ip. Как заставить делать внешний http запрос через разные IP?

1) Есть сторонний api с ограничением на кол-во запросов в минуту.
2) Есть дедик с 5 ip адресами.
3) Прилржение на nodejs+docker

Задача запустить 5 контейнеров чтобы каждый http запрос осуществлялся через свой ip адрес. Чтобы не упираться в лимиты
  • Вопрос задан
  • 149 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
@iddqda
network engineer, netdevops
используй драйвер macvlan https://docs.docker.com/network/macvlan/

вот так примерно делается:
docker network create -d macvlan --subnet=10.2.4.96/16 --gateway=10.1.1.1 -o parent=eno1 mac_net
docker run --net=mac_net --ip=10.2.5.5 -it --rm busybox
/ # ping 10.1.2.10 -c 1
PING 10.1.2.10 (10.1.2.10): 56 data bytes
64 bytes from 10.1.2.10: seq=0 ttl=63 time=0.423 ms

docker run --net=mac_net --ip=10.2.5.6 -it --rm busybox
/ # ping 10.1.2.10 -c 1
PING 10.1.2.10 (10.1.2.10): 56 data bytes
64 bytes from 10.1.2.10: seq=0 ttl=63 time=0.423 ms


при этом tcpdump запущенный на хосте показывает такое:
10:29:07.257561 IP 10.2.5.5 > 10.1.2.10: ICMP echo request, id 1536, seq 2, length 64
10:29:07.257924 IP 10.1.2.10 > 10.2.5.5: ICMP echo reply, id 1536, seq 2, length 64
10:29:26.101902 IP 10.2.5.6 > 10.1.2.10: ICMP echo request, id 1536, seq 0, length 64
10:29:26.102431 IP 10.1.2.10 > 10.2.5.6: ICMP echo reply, id 1536, seq 0, length 64
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы