在docker-compose.yaml
文件中,我定义了4个不同的网络:
networks:
vpp-nw:
vpp-client:
vpp-server:
vpp-db:
分别使用以下网络地址:
172.20.0.x
172.21.0.x
172.22.0.x
172.23.0.x
我使用的其中一个容器连接了所有四个网络 (按照相同的顺序):
# part of docker-compose.yaml
services:
my_tool:
build: ./my_tool
image: tgogos/my_tool
container_name: my_tool_docker_comp
hostname: my_tool
privileged: true
links:
- my_db
networks:
- vpp-nw
- vpp-client
- vpp-server
- vpp-db
ports:
- "8888:8888"
有没有一种方法来定义哪个接口将连接到每个网络?例如,我想要:
eth0
连接到第一个(vpp-nw)eth1
连接到第二个(vpp-client)eth2
连接到第三个(vpp-server)eth3
连接到第四个(vpp-db)
下面是此容器的ifconfig
输出。每次我docker-compose down
|docker-compose up
时,NICs似乎会以任意方式连接到每个网络...
eth0 Link encap:Ethernet HWaddr 02:42:ac:15:00:03
inet addr:172.21.0.3 Bcast:0.0.0.0 Mask:255.255.0.0
eth1 Link encap:Ethernet HWaddr 02:42:ac:17:00:03
inet addr:172.23.0.3 Bcast:0.0.0.0 Mask:255.255.0.0
eth2 Link encap:Ethernet HWaddr 02:42:ac:14:00:02
inet addr:172.20.0.2 Bcast:0.0.0.0 Mask:255.255.0.0
eth3 Link encap:Ethernet HWaddr 02:42:ac:16:00:03
inet addr:172.22.0.3 Bcast:0.0.0.0 Mask:255.255.0.0
编辑:
更多阅读和Github问题:
docker-compose.yml
文件中相应的services
条目吗? - larsks