===== MACVLAN ===== docker network create -d macvlan \ --ipv6 \ --subnet=192.168.222.0/24 \ --subnet=2001:db8:1d:2ec::/64 \ --gateway=192.168.222.1 \ --gateway=2001:db8:1d:2ec::1 \ -o parent=enp5s0f3.100 \ vlan100 docker network create -d macvlan \ --subnet=192.168.222.0/24 \ --gateway=192.168.222.1 \ -o parent=enp5s0f3.100 \ vlan100-ipv4 docker network create -d macvlan \ --ipv6 \ --subnet=2001:db8:1d:2ec::/64 \ --gateway=2001:db8:1d:2ec::1 \ -o parent=enp5s0f3.100 \ vlan100-ipv6 docker run --rm -it --name alpine --network vlan100 alpine ping ipv6.google.com docker run --rm -it --name alpine --network vlan100 alpine ping 8.8.8.8 docker run --rm -it --name alpine --network vlan100-ipv4 alpine ping 8.8.8.8 docker run --rm -it --name alpine --network vlan100-ipv6 alpine sh ping ipv6.google.com docker run --rm -it --name alpine --network vlan100-ipv4 --network vlan100-ipv6 alpine ping 8.8.8.8 docker run --rm -it --name alpine --network vlan100-ipv4 --network vlan100-ipv6 alpine ping ipv6.google.com services: alpine: image: alpine stdin_open: true tty: true cap_add: - NET_ADMIN command: ["sh", "-c", "ip route replace default via 192.168.222.1 dev eth1 && sh"] networks: vlan100-ipv4: ipv4_address: 192.168.222.200 vlan100-ipv6: ipv6_address: 2001:db8:1d:2ec::200 networks: vlan100-ipv4: external: true vlan100-ipv6: external: true IP assignment doesn't work with docker run root@ucpe2:~/test# docker run -it --rm \ --name alpine \ --cap-add=NET_ADMIN \ --network vlan100-ipv4 --ip 192.168.222.200 \ --network vlan100-ipv6 --ip6 2001:db8:1d:2ec::200 \ alpine \ sh -c "ip route replace default via 192.168.222.1 dev eth1 && sh" docker: Error response from daemon: invalid config for network vlan100-ipv4: invalid endpoint settings: user specified IP address is supported only when connecting to networks with user configured subnets