My favorite for this is Clear Duct Tape .
Put down one piece of tape, write on it with your permanent marker, and put another layer on top of it.
You don't have to worry about the ink rubbing off and if you change what's in it
you can swap tape easily.
outdoors.stackexchange.com/users/17/Corey D
I've personally found paint pens to work quite well.
You can find them at Wal-Mart in the craft section and most likely any craft store.
They are the brand "Painters" made by Elmer's.
I use the ones with fine tips for labeling, which is slightly more defined than a Sharpie.
They also come in a variety of colors so you could even color code different medicines if you so desire.
I've washed items labeled with a paint pen many times
and it still holds up.
It will eventually wear down, but it takes quite some time.
If the surface to be labeled is glossy it helps to take a Scotch-brite pad or some fine sandpaper to scuff it up
and then the paint pen label will last even longer.
outdoors.stackexchange.com/users/1908/manoftheson
I occasionally have to label smooth plastic surfaces around the office that get handled regularly.
As you say, even a sharpie mark wears off after a while.
What I do is to write the label with a sharpie, then put a piece of tape over it.
Don't use the clear "scotch" tape, but the more permanent milky kind.
Make sure it is well stuck down with no air bubbles (rub with fingernail as needed), and it should stay on nicely for a long time even in moist conditions.
outdoors.stackexchange.com/users/1854/Olin Lathrop
I will probably use a small paper and put this latter inside the tube so it can be visible from the outside.
This solution might not be the best solution if the tube is not fully transparent or very small.
outdoors.stackexchange.com/users/38/Amine
I use tape medical plaster for labeling tubes: wrap your tube in it and then write over using a pen or permament marker.
The plaster just makes the surface less smooth and the writing can't be rubbed of that easily.
It's not waterproof, though.
The other idea which has just occured to me is to use some sharp object to carve your lables in plastic.
So even if the marker paint goes off, you'll be able to read the label.
outdoors.stackexchange.com/users/1794/Steed
For my first aid kit, all of the medications are repackaged.  I use nalgene snaptop vials like  these .    I have found that even permanent sharpie marker rubs off fairly quickly when hiking.  I can usually recognized the difference between medicine, but I may not be the one pulling out the kit.    What system can I use to label containers so that it will not rub off?
What can I use to label my medicine tubes?
outdoors.stackexchange.com
<backpacking><first-aid>
outdoors.stackexchange.com/questions/3237
outdoors.stackexchange.com/users/127/Russell Steen
Methods include writing the label with a sharpie then taping over it. Clear duct tape is good. Using medical tape and writing on it is another option. Paint pens are also recommended, as are carving names into the plastic or putting a paper label inside the tube.   Labelling can be done with tape, paint pens, paper and by carving labels.
Tape works well. Paint pens, carving labels with a sharp object and paper can be used for labelling.