I actually saw this on Stackoverflow but can't find the original post, and it looks like https://dev.to/ingosteinke/comment/21075 is addressing this too. But like the page says, this website is mostly for me to put stuff I need in the future!
When I can connect to public wifi with a captive portal on my phone, but not my laptop, this works:
route -n
you should get something like this
```bash
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.18.0.1 0.0.0.0 UG 600 0 0 wlp170s0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp170s0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-16fba42e0cd7
172.18.0.0 0.0.0.0 255.255.0.0 U 600 0 0 wlp170s0
172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-27df09be2d4a
```
Note the Gateway at 172.18.0.x and the bridge at 172.18.0.0. You need to delete that bridge.
sudo ifconfig br-16fba42e0cd7 down
sudo brctl delbr br-16fba42e0cd7
should do the trick!