Fighting with husband

My husband drinks a lot and it has caused a lot of strain on our marriage. I feel upset when he does it and have tried to control him in the past, which has led to him hiding and lying about his drinking.
I am trying to be an amazing wife and want to accept him as he is – to let myself off the hook control-wise and to feel better about our relationship, which has a lot of great qualities. I have shared this with him and although he wants the same, he doubts I will accept him as he is based on past behaviour.
Last night I could tell he was hiding wine from me and I thought either I could let it go or acknowledge that I knew what was going on. I chose the latter and then we fought – he said I speak to him with contempt, I said I can’t believe how easily he can lie to me and put alcohol ahead of our marriage (he denies this is true).
I feel awful after these fights but sometimes feel out of control about it – I’m so used to being the police woman and also don’t want to appear as the idiot wife who doesn’t know she’s being lied to. My husband makes promises to me about drinking and within a couple of days they are forgotten and old behaviour returns.
How can I come at this with compassion and not feel like I’m being wronged?