Yes, there's a high risk of the new sites being flagged as duplicate content. Even if you change up the text, if you reuse images and/or have a very similar HTML structure, Googlebot is quite good at spotting similarities.
For example, if you upload an image to images.google.com, it's very good at displaying "visually similar" images - in some cases exact copies, and in other cases cropped or resized versions of basically the same thing. I don't know whether they openly state that images hosted on multiple sites can be flagged as duplicates, but they definitely have the technology to do so.
As another example, if the HTML structure is very similar, bots can recognize that too. HTML-heavy templates with little content are quite often flagged as duplicate since most of the characters of the files from two separate sites are identical or very similar. Even if you use lots of CSS to make dramatic visual changes, a bot can spot the similar HTML.
It would likely be a wiser strategy to publish new content on the existing domain. So for example you would post City 2's content at
getacabcity1.com/city2 and City 3's content at
getacabcity1.com/city3. That way you can have shared content (FAQs, etc., anything that applies to all locations) in one spot, but you also have dedicated pages for each city that can be optimized for each location. If you want to be able to advertise
getacabcity3.com it would likely be good to just 301 redirect the whole domain to the landing page - so if someone types in
getacabcity2.com the browser automatically takes them straight to
getacabcity1.com/city2. That might strike a good balance between being short and memorable for customers, but keeping content all on a single site.
To optimize each location, including information like the address, phone, map, and local business Schema will go a long way toward helping Google realize these are separate physical locations.