Why do I get random spurts of anger over petty things?

I'm a teenager. I get random spurts of anger, like complete, pure rage. I figured it was hormones, but others notice it too. I get self-destructive. I used to cut but stopped. Now when I get mad, I bite my arms and fingers, pull my hair, scratch my face, or punch my thighs. Basically, I do things I can hide instead of breaking anything in my room and having to explain it to my mom. I don't live in a bad household. I have a great family, a great relationship with my boyfriend, and a good job. I have no idea what this is and I don't know how to control it. It's over any little thing. Tonight, it was because I couldn't get my earrings out. This happens maybe two to three times on a good week, and it's always over stupid, petty things.