You can purchase bottles or glasses of wine in the dining room, although it is pricey. They will also save your bottle for the next time if you don't finish it. Anything you buy on the islands, they will hold until the last nite of the cruise.
"...passengers are permitted to bring one bottle of wine and/or champagne per person purchased in a shoreside location onboard. If the wine and/or champagne is brought to the dining room for consumption, a $15.00 per bottle corkage fee will be applied to the passenger's shipboard account. We prefer that passengers bring wine/champagne no larger than 750ml, however, magnums are acceptable. Wine in a box is not encouraged."