My rooster is now @ 3years. He started attacking me the first summer and I beat him off, kicked him. Now all I rally have to do is say, "cut it out" and hiss at him, make myself big, and he goes away. He is such good rooster with the girls so I have given him time.
What I have come to realize is he gets mean when 1) things aren't right and 2) as spring approaches and his hormones kick in. So I check things like can they get in the coop run? Are magpies in the run? etc. Now, as spring arrives, I ensure there are treats between him and I.
I have seen my dog lay in the midst of the chickens and the roo with no issue, but if she approaches them too fast, she gets attacked. She has learned when not to cross his path.
In the winter months he is generally good as I think he knows I am THE food source.
I have saved his ass numerous times, too, when he strays too far and can't seem to find his way back in the eve to the coops safety. One time a helluva rain storm had him stuck against a stump and he was so wet he could not hop the fence to safety. I took feed and led him to safety. He was seemingly, as much as a rooster can be, grateful.
If I could not control him, I would sadly put him in a pot, but he is such a wonderful guard and ensures the hens get the best tidbits.
I think sometimes it behooves you to study the whys--what happened before he attacked? And maybe work on that.