Bridge networks missing IP addr and VETH not linking to bridges

A couple of different problems.

  1. When I boot my system the docker network bridges are missing IP addressing until I restart the docker engine with systemctl.

  2. When I start a container the VETH interface doesn’t automatically link to the bridge. I have to do it manually with ip link set <VETH> master <BRIDGE>

My system is a Raspberry Pi 3B+ running Rasbian Bullseye (armhf).

How did you install Docker on that Rasberry Pi?
Have you checked the journalctl logs or any system log/boot log that is available on Rasbian Bullseye?

It turns out at some point I enabled systemd-networkd which was messing with the interfaces that docker creates. It works fine on a fresh install or if I exclude veth* interfaces in the networkd config file.