some serious "heel" training i guess is what sounds like maybe you need.
i havent trained either of my dogs to heel but you could try having treats at your side and doling them out to keep your dog by your side. may want to try training it walking first just so it's easier
I second heel training. Proper heeling has the dogs shoulder even with your left leg - but you can teach your dog to heel in whatever position is comfortable. Have your dog sit at your side in the desired position - give a treat, keep dog on short leash take one step forward with left leg (if that's the side you keep your dog on) holding a treat right in front of the dog so that he stays at your side or slightly behind. Keep at it, treating every step as long as he stays at your side or behind- if he gets in front of you - bring him back to your side, have him sit and start again. Gradually take more steps between treats until he's weaned off. If you are consistent stopping every time he gets in front and treating when he gets it right he'll probably catch on quickly. When he's walking nicely by your side on a loose leash then increase up to a run. This method worked well for me - I hope it helps!