Yes, the ship's bank will convert currency. However, dollars are acceptd everywhere that you mentioned. In fact, you won't be able to possess rubles in Russia and dollars are favored by the vendors. Your best bet for exchange will be the ATMs located in every port.
Have a great cruise!