President Donald Trump said Tehran "appears to be standing down" after overnight Iranian strikes on military bases in Iraq hosting US troops, as he announced fresh sanctions on the Islamic Republic.

Neither the Treasury Department nor the Department of State announced specified what the new sanctions are.

Flanked by his top advisers, the US president said in a televised speech that Washington is seeking a new deal with Tehran, as tensions remain sky high following last week's killing of top Iranian general Qassem Soleimani.

Washington withdrew from a multilateral nuclear deal with Iran in May 2018, gradually reimposing crippling sanctions on various Iranian industries and individuals.

Trump opened his remarks by saying: "As long as I’m president of the United States, Iran will never be allowed to have a nuclear weapon."

He defended the killing of Soleimani in a US drone strike in Baghdad on Friday, saying the leader of Iran's elite Quds Force was a terrorist responsible for fuelling civil wars and attacking US forces in the region.

All of our soldiers are safe and only minimal damage was sustained at our military bases - Donald Trump

US officials have increasingly accused Tehran of ordering militant strikes in the region, including an attack on major Saudi oil facilities in September and several rocket strikes on or near US forces in Iraq.

Early Wednesday morning, Iran fired a salvo of ballistic missiles at two bases in Iraq hosting US-led coalition troops, without causing any casualties.

Trump said Americans should be "grateful and happy" because none of their compatriots were harmed in the attack.

"All of our soldiers are safe and only minimal damage was sustained at our military bases," he said.

Trump talked up his own role in the defeat of the Islamic State (IS) group, saying that Iran benefited from it as well, while calling for cooperation with Tehran on other "shared priorities".

"The United States is ready to embrace peace with all who seek it," he said.

Iran's Supreme Leader Ayatollah Ali Khamenei, who had called for "severe revenge" after Soleimani's death, described Friday morning's attacks on Iraqi bases as a "slap in the face" to the United States.

Iran's Foreign Minister Mohammad Javad Zarif said the rocket strikes were "proportionate measures in self-defence".

"We do not seek escalation or war, but will defend ourselves against any aggression," he said on Twitter.

Trump had repeatedly warned Tehran against retaliating for Soleimani's killing.

"Iran does anything that they shouldn't be doing, they're going to be suffering the consequences," he said hours before the Iranian missile strikes.

Trump had ordered the air strike against Soleimani last week after a series of escalating events in Iraq.

Late in December, the United States blamed the Iran-backed Popular Mobilisation Units (PMU), or Hashed al-Shaabi, for a rocket strike that killed an American contractor in Kirkuk, and retaliated with air strikes that claimed the lives of 25 PMU fighters.

In turn, PMU-backed protesters attempted to storm the US embassy in Baghdad.

Call for new deal

In his speech on Wednesday, Trump berated his predecessor Barack Obama for signing the nuclear pact - known as the JCPOA.

"The very defective JCPOA expires shortly anyway and gives Iran a clear and quick path to nuclear breakout. Iran must abandon its nuclear ambitions and end its support for terrorism," he said.

The US withdrew from the nuclear agreement three years into a 10-year timeline, with the JCPOA scheduled to terminate in October 2025.

He also called on European countries to abandon the deal as well.

"We must all work together toward making a deal with Iran that makes the world a safer and more peaceful place," Trump said.

"We must also make a deal that allows Iran to thrive and prosper and take advantage of its enormous untapped potential.

"Iran can be a great country. Peace and stability cannot prevail in the Middle East as long as Iran continues to foment violence, unrest, hatred and war."