What worked amazingly well for us was we rented a car from Alamo (via Costco). We stayed in a motel about 15 mins away. It was a Holiday Inn Express that we arranged for via Hotwire. Our cruise was via Holland America. Alamo has a rental car facility within of a mile of the Holland America terminal. We dropped the car off at Alamo and then Alamo had a shuttle take us to the port/terminal. It was very convenient. By doing that we didn't have to find the closest hotel - and could get a reasonable rate.