US president Donald Trump has injected fresh drama into an already tense meeting of the G7 nations as he called for Russia to be reinstated.

Mr Trump made the comment at the White House after hours of further escalating his rhetoric against longtime allies over US trade practices.

He said: "Why are we having a meeting without Russia in the meeting? They should let Russia come back in because we should have Russia at the negotiating table."

The US leader, who plans to leave the meeting of major industrialised nations early, also lashed out at long-standing allies over their criticism of his trade policies.

Russia was ousted from the elite group in 2014 as punishment for Vladimir Putin's annexation of Crimea and its support for pro-Russian separatists in Ukraine.

In the US, special counsel Robert Mueller is investigating whether Mr Trump's campaign colluded with Russia in a bid to sway the 2016 presidential election in his favour.

He will arrive at the annual gathering, held this year in Quebec, but will leave on Saturday morning before the event is over, heading to Singapore for his highly anticipated summit with North Korean leader Kim Jong Un.

The White House announced his travel plans after French president Emmanuel Macron and Canadian prime minister Justin Trudeau signalled they would use the G7 event to take a stance against new US tariffs on steel and aluminium imports.

Mr Trump tweeted: "Looking forward to straightening out unfair Trade Deals with the G-7 countries. If it doesn't happen, we come out even better."

He also singled out tariffs on US dairy products in yet another scathing tweet directed at Canada just before the meeting.

At a joint press conference, Mr Macron said: "A trade war doesn't spare anyone. It will start first of all to hurt US workers."

Mr Trudeau said: "We are going to defend our industries and our workers."

The Canadian PM, for his part, said Mr Trump's action would hurt American workers as well as Canadians.

He said: "If I can get the president to actually realise that what he's doing is counterproductive for his own goals as well, perhaps we can move forward in a smarter way."

Mr Trump retorted via Twitter: "Please tell Prime Minister Trudeau and President Macron that they are charging the U.S. massive tariffs and create non-monetary barriers. The EU trade surplus with the U.S. is $151 Billion, and Canada keeps our farmers and others out. Look forward to seeing them tomorrow."

Later, the US president tweeted: "Prime Minister Trudeau is being so indignant, bringing up the relationship that the U.S. and Canada had over the many years and all sorts of other things...but he doesn't bring up the fact that they charge us up to 300% on dairy - hurting our Farmers, killing our Agriculture!"

A few hours later, he added: "Take down your tariffs & barriers or we will more than match you!"

Mr Trump will skip G7 meetings about climate change, clean energy and ocean protection.