At least 20 people have been killed and five are missing after a cargo ship caught fire in a China port.