Возглавив войско, Ганимед пришел к мысли, что можно значительно ухудшить положение неприятеля, если отрезать его от пресной воды. Питьевая вода подавалась в Александрию из Нила по подземным каналам с отводами в каждый дом. Войско Цезаря стояло в северной части города, куда вода подавалась в последнюю очередь. Не имея возможности перекрыть все каналы, ведущие в эту часть города, Ганимед приказал закачивать в них воду из моря. Солдаты Цезаря поначалу никак не могли понять, почему вода стала солоноватой, но когда вода стала совсем негодной к употреблению, они уразумели, в чем дело.
Солдаты могли долгое время недоедать, но обойтись без воды были не в состоянии и потому впали в панику и потребовали от Цезаря уйти из Египта. Цезарь воспринял это требование не с гневом, как было несколько лет назад, но с пониманием: он объяснил, что отход невозможен — и не нужен. Ведь они не смогут оставить свои позиции незаметно, и, едва лагерь начнет сворачиваться, александрийцы преодолеют возведенные баррикады и не дадут погрузиться на корабли. Тут не Галлия с ее холмами и лесами, где можно укрыть армию, но равнина, отлично просматриваемая с городских стен. В любом случае Ганимед им не угроза. Александрийцы черпают воду из Нила, поскольку в городе слишком много жителей, чтобы напоить всех из колодцев; но нас-то, сказал он солдатам, куда меньше, а потому нам хватит и колодцев. Римляне приободрились и принялись копать. К утру они получили воду.
Солдаты Цезаря воспрянули духом, а вскоре еще более ободрились, когда узнали, что к побережью Египта подошли корабли Домиция Кальвина с продовольствием и оружием на борту. Однако Домиций пришел в Египет на парусниках (арендованных у купцов) и из-за сильного восточного ветра до Александрии дойти не смог и бросил якорь в нескольких милях западнее, в ожидании попутного ветра. Узнав об этом, Цезарь решил с помощью своих гребных кораблей привести флот Домиция в город. Он сел на корабль и велел всему флоту следовать за собой, но войско оставил в Александрии, чтобы держать оборону.
Добравшись до стоявшего на якоре флота Домиция, Цезарь взял эти корабли на буксир и при слабом противном ветре пошел обратно в Александрию. Во время встречи с Домицием Цезарь послал гребцов за водой, и несколько человек, отдалившихся от берега моря, были захвачены неприятелем. От них александрийцы узнали, что у Цезаря нет на борту солдат, и, решив воспользоваться благоприятной возможностью, вывели весь свой флот навстречу неприятельским кораблям. Один из кораблей Цезаря, укомплектованный родосскими моряками, отбился от строя; александрийцы решили начать с него и атаковали родосцев силами нескольких кораблей. Цезарь поначалу решил, что раз родосские моряки сами виновны в том, что отбились от строя, то пусть они сами и отбиваются, но увидев, что родосцы храбро дерутся, поспешил им на помощь. Бой закончился полной победой римлян: противник потерял два корабля и большое число людей.
Александрийцы были удручены поражением, тем более что потерянные в сражении с Цезарем корабли были не первыми, утраченными в боях. За несколько последних недель римляне уничтожили большую часть их флотилии. Александрийцы считали себя искусными моряками и со страхом спрашивали себя: если мы не смогли одолеть римлян на море, то разве сумеем победить их на суше?
Ганимед понимал, что подобные настроения гораздо опаснее реально существовавшей римской угрозы, и потому во всеуслышание уверил александрийцев, что они построят новые корабли, да еще лучше тех, что имели, и тогда навеки изгонят коварных римлян из независимого Египта. И александрийцы принялись за строительство кораблей. Им не хватало леса, и тогда на изготовление весел пошли стропила общественных зданий, крыши которых пришлось снести. Кроме того, александрийцы стали чинить старые корабли, давно стоявшие на причале, а с Нила привели в город сторожевые суда. Александрийцы работали с огоньком и за несколько дней, вопреки ожиданиям, построили двадцать семь кораблей. Конечно, это не были корабли океанского плавания, но в прибрежных водах они представляли собой грозную силу.
Цезарь понял, что морского боя не избежать, и, чтобы опередить неприятеля, вывел свой флот в составе тридцати четырех кораблей к западной части гавани. У Цезаря было девять родосских кораблей, восемь — понтийских, двенадцать — византийских и пять — киликийских. На правом фланге он поместил родосские корабли, на левом — понтийские. Остальные корабли образовали вторую линию. Александрийцы также без колебаний вывели и выстроили свой флот. Во фронте у них были двадцать два корабля, а остальные, ожидая своего часа, встали во второй линии. Между двумя флотами были отмели с узким проходом, и было ясно, что первый, кто войдет в этот проход, окажется в затруднительном положении как при развертывании, так и при возможном отходе.