我目前有 2 个使用 macvlan 创建的网络在我的 Synology 上运行。这些网络在物理上是分开的并且完全隔离。因此一个网络上的设备无法与另一个网络通信。
root@syno:/# docker network ls
NETWORK ID NAME DRIVER SCOPE
12434567 priNet macvlan local
76543210 secNet macvlan local
我将这些网络用作我的主要家庭网络,并将其他网络用作我的智能家居设备。我可以将任何 docker 容器附加到其中任何一个。但是,现在我想在它们两个上附加一些容器。所以我更新了我的 docker-compose 以将容器附加到两个网络。
version: "3.7"
services:
container:
image: someImage:latest
environment:
TZ: 'Europe/Berlin'
volumes:
- /etc/localtime:/etc/localtime:ro
restart: always
networks:
int_homeNet:
ipv4_address: 192.1.1.21
int_smartNet:
ipv4_address: 192.1.2.21
networks:
int_homeNet:
external: true
name: priNet
int_smartNet:
external: true
name: secNet
运行此 docker compose 文件后,出现以下错误
level=fatal msg=\\\\\\\"failed to add interface dockerb21a0fc to sandbox: error setting interface \\\\\\\\\\\\\\\"dockerb21a0fc\\\\\\\\\\\\\\\" IP to 192.168.2.21/24: cannot program address 192.168.2.21/24 in sandbox interface because it conflicts with existing route {Ifindex: 194 Dst: 192.168.176.0/22 Src: 192.168.1.21 Gw: <nil> Flags: [] Table: 254}\\\\\\\"\\\\n\\\"\"": unknown
您认为我正在做的事情是否正确?还是我做错了什么?我也可以通过其他方式实现相同的目标......
非常感谢您的所有建议...