The labourers were working on the 80-meter-long tanker ship when the blast happened at about 8.40am.
Police are still investigating the cause of the explosion, which was powerful enough to hurl the two men hundreds of metres away.
“There are at least two people dead. How many have been injured is not yet clear. We are investigating how many people were on board the ship when this happened,” police spokesman Ramon Van Der Maat told Bild.
Police were using a helicopter to search for at least one further worker believed to be missing after the explosion as of Thursday morning.
A big, dark cloud of smoke could be seen over the city in the Ruhr area - one of Germany’s most densely-populated zones - from kilometres away.
Firefighters got the blaze under control within around one hour after the initial explosion.
Police told Spiegel Online that tanker ships are only supposed to tie up at the docks when they are empty of cargo.
The Duisburg-Ruhrorter port is the biggest inland port in Europe - and by some measures the largest in the world if all private and public docks are included in the reckoning.