I understand your predicament. Sounds like you're struggling, you used alcohol as your outlet.. sometimes when stressed/and not dealing mentally it feels like a really good idea to get trolleys because it makes you feel better, but sometimes all that ugliness you're feeling comes out to those around you.
I get it.
My Dad was similar when I was a child (difference being he had a drinking problem so it became common place for him to get drunk and all his demons would come out, leaving me shit scared)
It reads like you've done this once. It's not great, but it's happened.
In your shoes, a sit down with your child is a good idea, explain that alcohol makes you not yourself you're really, really sorry for what happened, that you are ashamed and you will not drink around them again.
If you want to drink, take yourself off where you will not be around him, or send him to grandparents. You aren't a drinker really so its not like you're going to be sending your DS every weekend.
Now onto you, the stress you're under, is there znything that can be done to lessen it? Do you have support in dealing with your stressful situation?
Is your poor mental health being monitored? Do you need more support in that area?
I'm concerned that you aren't getting support that you really need, if you don't drink because of how it makes your behaviour come out, but you felt that you needed to as an outlet for how you're feeling.
I'm not minimising you scaring your child because you were drunk, it was wrong, but this looks like a massive sign that you need some form of support at the moment
I hope you're feeling better soon.