Не удается привязать порт к 0.0.0.0 в Docker - PullRequest
0 голосов
/ 16 мая 2019

У меня есть docker-compose, определяющий 2 службы: клиент vpn и прокси. Прокси проходит через vpn и открывает порт для его использования.

services:
  vpn:
    image: my_vpn_image
    devices:
    - /dev/net/tun
    cap_add:
    - net_admin
    ports:
    - "8118:8118"

  privoxy_vpn:
    image: splazit/privoxy-alpine
    network_mode: "service:vpn"

Работает, когда я использую локальный адаптер

http_proxy=localhost:8118 curl www.ok.com

Но это не сработает, если я попытаюсь использовать ip в других адаптерах. Допустим, мой IP 192.168.1.99

http_proxy=192.168.1.99:8118 curl -vvv www.ok.com
  • Истекает через 0 мс в течение 6 (передача 0x555e81b285c0)
  • Использует прокси-переменную env http_proxy == '192.168.1.99:8118'
  • Попытка 192.168.1.99 ...
  • TCP_NODELAY set
  • Истекает через 200 мс в течение 4 (передача 0x555e81b285c0) curl: (7) Не удалось подключиться к порту 1911.168.1.99. 8118: Тайм-аут соединения

Если я изменю контейнер vpn на другой, скажем, nginx:

    services:
  vpn:
    image: nginx
    devices:
    - /dev/net/tun
    cap_add:
    - net_admin
    ports:
    - "8118:8118"

  privoxy_vpn:
    image: splazit/privoxy-alpine
    network_mode: "service:vpn"

Работает.

Мне не хватает чего-то, связанного с контейнером vpn или network_mode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...