No need.
All Caribbean ports use US$ as a preferred form of currency. And while some people will complain that you will get local currency in change, I have never, ever found that to be the case. I want local currency as a souvenir stock-stuffer for the kids and I can't get it, even most of the time when I ask. Over a dozen individual stops in Mexican ports and I can't score a single, lousy Peso.
You just need to buy Yankee dollars which, if I remember correctly, are a good deal for Canucks nowadays.
Desperately seeking 10th cruise for the free laundry.