docker - 如何配置 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 上也没有响应。这个怎么做?
解决方案
您的容器在同一个网络中。如果您可以打开 Tunel 到 openvpn 容器,那么您可以将您的 apache 容器查询为http://apache:8080
或https://apache:8443
推荐阅读
- python - 如何返回值名称(Alive,Dead)而不是返回 1 和 0
- javascript - JS从带有mysql查询的函数返回值
- http - 由于 SSL 证书过期,SharePoint Online 站点 (http) 不安全时的风险
- javascript - AngularJs:根据第一列中的下拉列表显示/隐藏表列
- sql - 我正在尝试对每笔交易的 AMT 求和,但仅当 GL 帐户不是 4 个帐户中的 1 个时才对 NETAMT 求和
- google-cloud-functions - Google Cloud Storage `predefinedAcl` 和 `file.makePublic()` 不起作用
- python - 当我还需要登录时,如何使用 pywebcopy 在 Python 中下载整个网页?
- php - 沙盒 Paypal 结帐(PHP、Laravel)
- reporting-services - SSRS 上月,MTD 与当月相同 -1 天
- html - CSS/HTML 的边框问题;CSS应用表格但不应用边框