My guess is you aren't relaxed. Look at it this way - if you go to the beach, and there's a good wind blowing, and you stand in the water, the waves crash into you and break on you. If you allow yourself to go with the motion of the waves, you will be carried rather softly in the direction of the waves. A horse's canter is the same mechanics - you must relax your body to accept the motion of the horse.
Free your shoulders, either mentally or by rolling them. Allow your seat to sink into the saddle and become very soft on the horse's back, not driving him. Flex your ankles so your calves rest firmly against the horse's barrel, allowing you to maintain a steady leg. Keep your head up for sure, because if you look down you create a curve along your back (think backwards "C") which stiffens you.
If you are just beginning to canter, do it in an environment and on a horse that you feel safe on to help you relax. I realize you are probably in lessons, but if you have access to a horse that you feel comfortable on, one thing that really helped me when I first started cantering many years ago is to do it when I'm very tired. My muscles were too tired to be stiff, and I established a wonderful seat and leg :)
I had the same problem for the longest time, in both cantering and sitting trot i'd bounce. Wit me, my hips were too tight, I do yoga to keep loose. Plus I took some lunge line lessons on a steady horse, this way I could focus on what my body was doing instead of which way the horse was going. I had my reins and stirrups taken away and let me tell you taking away the stirrups helped so much because if I didn't find a way to sit and not bounce the risk of falling off was very high.