Делал так. Были проблемы с dns на vlan и брался gateway с default так что это не жесткое указание и в случае проблем на vlan контейнер выйдет через default (его конечно можно не указывать и тогда контейнер будет работать только с vlan но думаю при связи между контейнерами трафик будет ходить через локалку).
Еще при таком конфиге контейнер получает собственный адрес в сети vlan, в моем случае это лишнее тк мне нужен только gateway.
version: '3.3'
services:
node:
image: node:latest
volumes:
- ./app:/app
networks:
myvlan:
ipv4_address: 10.10.10.4
default:
ports:
- "80:80" #проброс нужен для default, по vlan контейнер как отдельное устройство
command: "node /app/index.js"
networks:
default:
myvlan:
driver: macvlan
driver_opts:
parent: eth0.10
ipam:
config:
- subnet: 10.10.10.0/24