First of all, don't believe the other answers telling you that the locative is arbitrary and that there are no rules.
Locative is not arbitrary: for some words its use is required: в глазу, в боку, в саду; others (the majority) do not have a distinct locative form: в столе, в городе. It would be wrong to use them with the ending -у: в столу, в городу; and it would be wrong to say в глазе, в боке, в саде.
Are there any concrete rules to tell me when to use the locative?
Short answer: Yes, there are a few trends. Read the long answer.
Long answer:
In the course of the last few hundred years Locative (and Partitive) were gradually phased out of the language. Some words have lost their locatives completely. E.g. my granddad (born 1929) would say "в отпуску". Nowadays this sounds peculiar, "в отпуске" is pretty much the only way of saying it.
Some words are "hesitating" (to various degrees): мозг, счёт (на вашем счёте/счету осталось...), аэропорт, цех, мост (дырка в мосте / в мосту):
Some have split meanings:
В углу комнаты лежит мяч.
В прямом угле 90 градусов.
На краю земли.
В Краснодарском крае.
В миру
В мире
Others have only kept locatives in set phrases: на нашем веку (vs в двадцатом веке), на виду (vs в нетрезвом виде), на дому (vs на доме), час (в пятом часу vs в одном часе 60 секунд).
You are not finding any examples of "на моём дому" because "на дому" is a set phrase.
Most high-frequency words continue to hold on to their locatives quite firmly: час, глаз, бок, лес, снег, берег...
There are a few towns / villages called "Сосновый бор" and "Старый мост". I'd really like to hear how those people describe where they live!