Here are the strategies to successfully beat Dragonite by taking possible Dragonite's movesets into account. For the details of Dragonite, such as an evolution chart and base stats, tap the name of the Pokemon below.
Now Gyarados may not be the best Pokemon to beat Dragonite since it has only Bite for fast move. The most recent update take Dragon Breath away from Gyarados. Gyarados caught after August 20 do not have Dragon Breath. If you have already caught Gyarados with higher stats and Dragon Breath, super lacky! Use the one to beat Dragonite!
Even though Gyarados is not a dragon-type Pokemon, it can use Dragon Breath, a dragon-type fast move, and Dragon Pulse, a dragon-type charge move. Those moves are super effective against to Dragonite. Dragonite do not have effective moves against to Gyarados.
When Dragonite has Steel Wing for its fast move, Charizard is the best rather than Lapras and Wigglytuff. Lapras cannot cut the damage of the move ( steel-type moves are not very effective against water-type but super effective against ice-type), and Wigglytuff is weak to steel-type moves.
Charizard can acquire Dragon Claw as a charge move. The dragon-type move is super effective against to Dragonite. Additionally, Charizard can reduce the damage of Dragonite's Steel wing.
Since the damage of fire-type moves is decreased by dragon-type Pokemon, Wing Attack and Dragon Claw are the best for Charizard to defeat Dragonite. Dragon Claw is super effective against Dragonite.
While reducing damage of dragon-type move, Wigglytuff's fairy-type moves are super effective against Dragonite. Wigglytuff is the best fairty-type Pokemon to beat Dragonite due to its higher stats along fairy-type Pokemon.
The combination of Pound and Play Rough is the best moveset for Wigglytuff to beat Dragonite.