docker:重用另一个容器的网络堆栈并连接到该容器

时间:2019-03-31 10:16:27

标签: docker networking vpn

我正在尝试使用bubuntux/nordvpn为其他容器提供VPN。我正在尝试使以下设置起作用:

  1. 使用bubuntux / nordvpn定义vpn服务
  2. 使用foo定义容器network_mode: service:vpn来访问互联网
  3. 还使用bar定义另一个容器network_mode: service_vpn来访问互联网

到目前为止,这就像一个咒语-但是,现在我想使foobar能够相互连接(例如,使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

我如何进行这项工作?

0 个答案:

没有答案