How do you make cities in the desert grow larger than size 2? How do you make production better?
A desert tile will give 0 food when worked, irrigation adds 1 to that.
At size 2, 2 citizens will be working 2 irrigated tiles. So the food produced in that city is 1 from citizen1, 1 from citizen2, and 2 from the city center, 1+1+2=4 food in total! each citizen eats 2 food, so those 2 citizens eat 4 food. leaving only 0 surplus food, thus the food bin will never fill.
To make the city grow, you will have to put the citizens to work on tiles that produce more than 1 food.
If all tiles around the city that the city can work are desert tiles (or worse) you will have to wait till you get steam power, then you can rail, and rail + irrigation is +2 food. Each tile will then give 2 food and one shield, allowing 1 citizen per worked tile, plus one for the city center.
An alternative is to place cities in dessert area very close to each other, like city-tile-city-tile-city. Then leave them at size 1 by turning its first citizen into a specialist. This way you will get more out of the desert area before steam.