Я пытаюсь использовать bubuntux / nordvpn для предоставления VPN другим контейнерам.Я пытаюсь заставить работать следующие настройки:
- Использование bubuntux / nordvpn для определения
vpn
службы - Определение контейнера
foo
с использованием network_mode: service:vpn
для доступаИнтернет - Определите другой контейнер
bar
, также использующий network_mode: service_vpn
для доступа в Интернет
Пока что это работает как шарм - однако, теперь я хотел бы сделатьfoo
и bar
могут соединяться друг с другом (например, так что bar
может запускать curl http://foo
, и это будет работать), при этом все еще используя vpn для соединений с внешней стороной.Можно ли это сделать?
Вот простая демонстрационная программа docker-compose
(необходимо ввести только имя пользователя и пароль nordvpn):
version: "2"
services:
vpn:
image: 'bubuntux/nordvpn'
cap_add:
- NET_ADMIN
devices:
- "/dev/net/tun"
ports:
- 8080:80 # foo
environment:
USER: "XXXXX"
PASS: "YYYYY"
COUNTRY: "ch"
CATEGORY: "P2P"
OPENVPN_OPTS: "--inactive 3600 --ping 10 --ping-exit 60"
NETWORK: "192.168.0.0/24"
restart: "unless-stopped"
foo:
image: 'nginx'
network_mode: service:vpn
bar:
image: 'giantswarm/tiny-tools'
network_mode: service:vpn
command: "/bin/sh -c 'while sleep 1; do curl -sS http://foo/; done'"
Команда curl из bar
не будет выполнена:
bar_1 | curl: (6) Could not resolve host: foo
bar_1 | curl: (6) Could not resolve host: foo
...
Как мне сделать эту работу?