A Russian drone hit a commercial area in Ukraine's Black Sea port of Odesa, killing three people, the Ukrainian military and regional governor Oleh Kiper said on Friday.

The military said Russia launched 31 drones at Ukraine overnight, with air defences destroying 23 of them.

In a post on the Telegram messaging app, the military's Southern Forces said they had intercepted nine drones, but one struck an area near the port, causing a blaze.

Firefighters recovered one body and said people might still be under the rubble as emergency teams fought to control the blaze. A woman security guard was rescued unharmed from a building, the post said.

"The bodies of two more people were found under the rubble," Kiper, the regional governor, said on Telegram. "In total, three people died as a result of the enemy attack."

The military said missiles were also used in the attack, but failed to hit any targets. Pictures posted by the military show heavy damage to buildings in the area and rescue teams picking their way through debris.

In the central city of Dnipro, a Russian drone hit a multi-storey apartment building, injuring eight people, the regional governor said.

Serhiy Lysak, governor of Dnipropetrovsk region, wrote on Telegram that the search ran through the night and other residents might still be under rubble.

Reuters was unable to verify independently the accounts. (Reporting by Ron Popeski, Oleksandr Kozhukhar and Pavel Polityuk; Editing by Michael Perry and Clarence Fernandez)