The most powerful among the great Pokemon in Pokemon Go, is Dragonite. It comes next on the list of Legendary Pokemons. Even if your Pokemon's CP is less than 10% as compared to those of the Dragonite, you can still do a lot with it. Defeating dragonite might not be a difficult task at all since it a Dragon/Flying type of Pokemon. This is because moves that can produce 1.25x damage on Dragonite can be doubled, especially for Dragons and Flying-type Pokemon.
Pokemon Go Champ said that Dragon Pokemon are weak against Fairy and Dragon, while Flying-types are weak against ice, electric, and rock. Since Dragonite is immune to Electric-type bouts, Electric-type moves may not cause extreme damage to it. The following Pokemon are listed to fight and eventually defeat Dragonite - Clefable, Dragonite with a higher CP, Dewgong, Lapras, Cloyster, Jynx, Golem, Omaster, Aerodactyl, and Kabutops. The best fairy Pokemon is Wigglytuff. A Wigglytuff that has a moveset of Pound and a charge attach of Play Rouch or Hyperbeam can battle a Dragonite.
According to GamenGuide, in order to produce double damage to Dragonite using a single move, Pokemon with a STAB Bonus (1.25x), Dragon Type Super Effective Bonus (1.25x), and a Flying Type Super Effective Bonus (1.25x) is all you need. Ice-type Pokemon can contribute a double 1.25x Super Effective Bonus on Dragon and Flying Type. It can be concluded that Ice-type Pokemon which use Ice-type moves on Dragonite will yield an estimated double damage, in comparison to only 1x damage that can be produced with its original moves. So, the best combination for the Ice-type move is: Frost Breath/Blizzard. Pokemon that can produce a high degree of damage to Dragonite using this combination are - Lapras, Dewgong, and Cloyster.