I have a home lab, running Ubuntu 20.04 (Kernel v5.10) and on this server, I'm hosting Docker, a DNS Server (unbound), Wireguard, and a couple of web apps.
The Docker host is a Swarm cluster with 1 node and there are bunch of web apps running as Docker containers on this cluster.
I've set up Traefik and configured web apps such that they're accessible by other devices on the same network. The server is connected to my internet router. It's nothing special but I've configured it to forward Wireguard traffic to this specific server.
I can successfully connect to my home lab from an external device, access web apps running on the host, ping other devices on the internal network, so all appears to work as expected.
My issue is, none of the web apps running on Docker are accessible through Wireguard. Does anyone have any insights what the issue might be?
Edit: Details about the host
$ ip route
default via 192.168.188.1 dev wlan0 proto dhcp metric 600
10.110.0.2 dev wg0 scope link
10.110.0.3 dev wg0 scope link
10.110.0.4 dev wg0 scope link
10.110.0.5 dev wg0 scope link
10.110.0.6 dev wg0 scope link
10.110.0.7 dev wg0 scope link
10.110.0.8 dev wg0 scope link
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev docker_gwbridge proto kernel scope link src 172.18.0.1
192.168.188.0/24 dev wlan0 proto kernel scope link src 192.168.188.50 metric 600
$ ip route get 10.110.0.3
10.110.0.3 dev wg0 src 10.110.0.1 uid 0
cache
$ ping 10.110.0.3
PING 10.110.0.3 (10.110.0.3) 56(84) bytes of data.
From 10.110.0.1 icmp_seq=1 Destination Host Unreachable
ping: sendmsg: Destination address required
From 10.110.0.1 icmp_seq=2 Destination Host Unreachable
ping: sendmsg: Destination address required
^C
$ ss -tlnp | grep dockerd
LISTEN 0 4096 :80 :* users:(("dockerd",pid=788,fd=184)
...
The Docker swarm is using docker_gwbridge. The host is using wlan0 to connect to the rest of the network (and the internet)