我想在一些 docker-compose 项目之间共享相同的 VPN 容器。在同一内部docker-compose.yml,network_mode: service:vpn_container成功路由所有流量通过vpn_container,但我无法跨docker-compose.ymls 使用该方法。
更具体地说:我的设置如下:
首先,为了使 VPN 容器可访问,我创建了名为“vpn_network”的虚拟网桥。
$ docker network create --driver bridge vpn_network
docker-compose.yml然后这样写:
// docker-compose.yml with VPN container
version: '3'
services:
vpn:
// container config
vpn_user1:
// container config
network_mode: 'service:vpn'
networks:
default:
external:
name: vpn_network
Run Code Online (Sandbox Code Playgroud)
// docker-compose.yml without VPN container
version: '3'
services:
vpn_user2:
// container config
network_mode: 'service:vpn'
networks:
default:
external:
name: vpn_network
Run Code Online (Sandbox Code Playgroud)
前者工作得很好,而后者则说:
ERROR: Service 'vpn_user2' uses the network stack of service …