【发布时间】:2020-05-22 16:47:14
【问题描述】:
我有一个由爬虫和 MySQL 数据库组成的应用。当我做我的爬虫时,我想通过一个 VPN,但是当我连接到我的数据库时不使用 VPN。我已经设法让我的应用容器通过我的 VPN 容器发送所有流量,但现在我无法连接到位于 localhost 的数据库。我尝试使用主机地址localhost、127.0.0.1 和数据库的容器名称,但它们都不起作用。
如何通过我的 VPN 容器路由 一些 流量,而一些流量则正常?
这是我的 docker compose 文件:
version: '3.7'
services:
db:
image: mysql:8
restart: always
environment:
MYSQL_DATABASE: my_db
MYSQL_USER: root
MYSQL_ROOT_PASSWORD: pw
MYSQL_PASSWORD: pw
MYSQL_PORT: 3308
ports:
- "3308:3306"
command: --default-authentication-plugin=mysql_native_password
vpn:
build:
context: ./
dockerfile: Dockerfile-openvpn-dev
restart: always
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
volumes:
- ./openvpn:/vpn
command: openvpn --config /vpn/config.ovpn --auth-user-pass /vpn/client.pwd --auth-nocache
app:
build:
context: ./
dockerfile: Dockerfile-crawler-dev
environment:
MYSQL_DATABASE: my_db
MYSQL_USER: root
MYSQL_ROOT_PASSWORD: pw
MYSQL_PASSWORD: pw
MYSQL_HOST: db
MYSQL_PORT: 3306
network_mode: service:vpn
【问题讨论】:
-
请告诉我,如果您在设置它时仍有问题。否则,你能接受我的回答吗?谢谢
标签: docker docker-compose vpn