Dragon type Pokémon are generally rather rare in Pokémon games, and some are even considered to be Mythical Pokémon due to such rare sightings of them; indeed, Dratini was long thought to be extinct.
In the games, Dragon types are only weak against Ice and Dragon type moves. They are also highly resistant to Fire, Electric, Grass and Water type moves, with all four being featured as the starting Pokémon's types in the first Generation. Due to these traits, they are considered to be very powerful; the only thing that resists Dragon type moves is Steel, which can easily be countered with Fire, Ground or Fighting types. The combination of Dragon and Fire in particular is only resisted by one Pokémon. Unfortunately, these factors tend to be balanced by the fact that the Dragon type is often paired with types that give it a double weakness (for example, the Flying-type, giving the Pokémon a double weakness to Ice). This means that whilst Dragons are powerful, they are not unstoppable. Additionally, in the sixth generation, the new fairy type runs as a direct counter to dragon types. Dragon attacks cannot hurt it and Fairy attacks are supereffective against it.