You can get tiny but super loud air horns in the marine section at Walmart and other box stores. They cost just a couple of dollars and weigh almost nothing. They wouldn't stop a nasty, mean dog, but they'd surprise off your average dog who is just chasing for the fun of it, I think. They're far, far louder than even the strongest whistle (which I also carry on my pfd for kayaking, but not my bike).