我正在尝试使用bubuntux/nordvpn为其他容器提供VPN。我正在尝试使以下设置起作用:
vpn
服务foo
定义容器network_mode: service:vpn
来访问互联网bar
定义另一个容器network_mode: service_vpn
来访问互联网到目前为止,这就像一个咒语-但是,现在我想使foo
和bar
能够相互连接(例如,使bar
可以运行{ {1}},它仍然可以使用),同时仍使用vpn进行外部连接。这可能吗?
这是一个简单的演示curl http://foo
(只需填写nordvpn用户名和密码):
docker-compose
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
我如何进行这项工作?