I like using microwaveable plastic containers to bring my lunch in as they are my lighter than the Pyrex/glass versions. However, reheating my food up creates unsightly stains.
After washing them, fill them with a mild bleach solution (one tablespoon for each cup of water) and let them out in the sun exposing the stain for a whole day. Make sure children and animals cannot reach the containers with bleach.
There used to be a product called Cascade Plastic Booster that you could add to your dishwasher that would remove the stains. It's no longer sold but its main ingredient was benzoyl peroxide at 5%, which you may buy in most drugstores.
Start with equal parts white vinegar and water, perhaps with some lemon juice mixed in. Sprinkle baking soda on the bottom of your container. Pour in the liquid mixture. Scrub thoroughly. This should help lift the stain and baking soda is a natural odor neutralizer. You can also try drying it in a sunny spot, as sunlight is a natural bleaching agent.
You may also want to look into freezer-grade glass containers. Glass containers pick up smell and color much less readily than plastic.
To prevent the stain in the first place, we usually spray the insides with Pam (or whatever cooking oil spray you use) before putting the food in.
You can use baking soda to remove the stains. After washing your container, place some baking soda in the container then use a wet sponge (but not too wet)& scrub the container. This usually does the trick. Make sure the plastic containers are meant to be used in the microwave, otherwise, it's best to use glass containers.