I am from the UK. I am going on a cruise from Seattle to Alaska and was wanting to know do I need a Canadian visa/eta as the dock ships in Victoria BC? I already have an ESTA for the US.
You only need a Canada eTA if you enter Canada by air. If you enter by land or sea, you do not need an eTA. In no case do you need a visa for a short visit.