Libya's army spokesman says an oil tanker caught fire amid fierce fighting between pro-government forces and Islamist militias in the central district of the eastern city of Benghazi, sending heavy black smoke into the sky.

Mohammed Hegazi told The Associated Press that Islamist militias fired rocket propelled grenades from high-rise buildings overlooking the port, hitting the oil tanker on Monday.

Hegazi says army troops are battling the militias in the city's central district, close to the port.

The army over the past days warned residents to evacuate the area to avoid civilian casualties. The Benghazi port has been closed for weeks.

Clashes in Benghazi have killed at least 210 people dead since government troops backed by armed civilians started a campaign in mid-October to retake the city from Islamist militias.