Docker service hangs when configuring custom network bridge

I have an Ubuntu 18.04 LTS server with an existing bridge that I use for both KVM/QEMU VMs and OpenVPN. It’s defined in /etc/netplan as follows:

network:
    ethernets:
        enp6s0:
            addresses: []
            dhcp4: true
            optional: true
    version: 2
    bridges:
        br0:
            interfaces: [enp6s0]
            dhcp4: true
            parameters:
                stp: false
                forward-delay: 0

I’ve followed steps from various sources to try to get docker-ce to use this bridge so that each docker container has its own IP address but to no avail. The setup I did was almost identical to this post. I edited the “/etc/systemd/system/docker.service.d/override.conf” file to contain the following:

[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --bridge=br0 --fixed-cidr=192.168.1.0/27 --default-gateway=192.168.1.254

I then reloaded the daemon and restarted the service:

sudo systemctl daemon-reload
sudo systemctl restart docker

I’ve tried various permutations of daemon parameters but basically any time I try to specify either “–bridge=” or “–bip=”, the service just hangs while starting. The last line printed to the syslog is:

Starting Docker Application Container Engine...

I tried enabling debug logging using the instructions here but it doesn’t print anything else after this line. Because there doesn’t seem to be any other logging available I have no idea why the daemon won’t start. Removing the custom bridge from the parameters makes it start fine with the default docker0 bridge.

Any ideas?