"knocking on the door" and "knocking at the door"
These sentences can be used interchangeably. "Knocking on" is very literal. You are hitting your knuckles (not too hard!) on the door. "Knocking at" makes me think of someone being AT the door, knocking. So, in practice, they are the same.