首页 > 解决方案 > 如何配置 docker 容器以使用 VPN 访问它们?

问题描述

我有简单的 docker-compose.yml 和 Apache 服务器和 OpenVPN:

version: '2'
services:

  apache:
    image: 'bitnami/apache:latest'
    ports:
      - '1889:8080'
      - '443:8443'
    volumes:
      - ./mysite:/app

  openvpn:
    cap_add:
      - NET_ADMIN
    image: kylemanna/openvpn
    container_name: openvpn
    ports:
      - "1194:1194/udp"
    restart: always
    volumes:
      - ./openvpn-data/conf:/etc/openvpn

配置 kylemanna/openvpn 后,我可以从主机连接到 VPN,但是如何通过 VPN 使 Apache 可用?例如:我连接到 VPN 并从我的浏览器中查看我的网站,例如 10.0.0.3:1889。

编辑:ozlevka 的建议对我有所帮助,但现在我想添加通过 UDP 工作的服务,但在当前配置下它不起作用。我从 localhost 测试了我的 UDP 端口,它可以工作,但是通过 VPN,即使在 telnet 上也没有响应。这个怎么做?

标签: dockerdocker-composevpnopenvpndocker-networking

解决方案


您的容器在同一个网络中。如果您可以打开 Tunel 到 openvpn 容器,那么您可以将您的 apache 容器查询为http://apache:8080https://apache:8443


推荐阅读