通过docker连接到vpn的最佳实践

时间:2016-01-21 01:31:37

标签: docker docker-compose openvpn

我们的某些应用程序依赖于连接到我们的VPN以连接到不同的(尚未停靠的)解决方案。

这样做的“码头工作方式”是什么?在我看来,将OpenVPN添加到现有图像是违背了docker的理念。

从我站立的地方,我觉得创建一个docker VPN客户端容器是最有意义的。但那会是什么样子?我使用docker compose,所以肯定会有一个

myContainer
- links: myVPNClient

但是我必须转发端口吗?或者,要使myContainer连接通过 openVPN容器,必须采取哪些措施。

2 个答案:

答案 0 :(得分:13)

另一种选择是询问Jess Frazelle (jfrazelle)的习惯containerizing everything

果然,她有一个jfrazelle/dockerfiles/openvpn项目,直接将它暴露给主持人:

vpn:
  build: .
  volumes:
    - .:/etc/openvpn
  net: host
  devices:
    - /dev/net/tun:/dev/net/tun
  cap_add:
    - NET_ADMIN

它使用TUN (not TAP) interface

答案 1 :(得分:5)

最简单的解决方案可能是配置任何需要vpn的容器来使用vpn容器的网络命名空间。也就是说,您的docker-compose.yml将包含以下内容:

vpn:
  image: myvpn_image

app1:
  image: app1_image
  net: container:vpn

使用此配置,vpn容器和app1容器可以看到相同的网络环境。

相关问题