I have a qemu VM setup on my workstation, configured to get its own IP on the VLAN using a bridge interface. The bridge is created/configured using systemd-networkd
. Ever since setting up that VM, containers without --net=host
are unable to reach the Internet (or anything else for that matter, including the host IP).
The only thing I can find that seems at least on the surface to be wrong is that the containers’ veth
interfaces are being assigned to br0
instead of docker0
. I’ve tried explicitly setting "bridge": "docker0"
in /etc/docker/daemon.json
to no avail. With debug logging enabled, dockerd
(and containerd
) don’t mention anything about which bridge they’re using:
Apr 10 15:49:21 mc-desktop dockerd[115739]: time="2021-04-10T15:49:21.175291373-04:00" level=debug msg="Releasing addresses for endpoint gallant_wright's interface on network bridge"
Apr 10 15:49:24 mc-desktop dockerd[115739]: time="2021-04-10T15:49:24.148188013-04:00" level=debug msg="Assigning addresses for endpoint loving_carson's interface on network bridge"
And, amusingly enough, if I try to reassign the veth interface manually, it gets reassigned immediately:
[mc@mc-desktop ~]$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.18c04d85a0da no enp6s0
veth4a970f5
docker0 8000.024208f354b5 no
[mc@mc-desktop ~]$ sudo brctl delif br0 veth4a970f5; sudo brctl addif docker0 veth4a970f5; brctl show
bridge name bridge id STP enabled interfaces
br0 8000.18c04d85a0da no enp6s0
docker0 8000.024208f354b5 no veth4a970f5
[mc@mc-desktop ~]$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.18c04d85a0da no enp6s0
veth4a970f5
docker0 8000.024208f354b5 no
Any tips for troubleshooting would be super appreciated!