Where can you get a dratini?

he's a pretty rare Pokemon in leaf green and fire red but you can catch him in the safari zone or get him in slot machine place in Celadon City.