Sri Lanka has allowed a Chinese submarine and a warship to dock at its port in Colombo, officials said on Sunday, despite concerns raised by India about China's warming relations with the Indian Ocean island nation.