The best media for container gardening are ‘soilless mixes’ or commercial potting soils. These are combinations of peat moss, sand, vermiculite, and perlite that do not contain actual garden soil. Soilless mixes provide distinct advantages over soil with respect to water holding capacity, drainage and disease management. This is very important for sustained growth capacity in the limited space of a container.
Potting soil is most easily purchased in bags if the quantity needed is small. If larger quantities are needed, bulk quantities can be purchased at some nurseries. Another option is to mix your own. There are as many possible combinations of ingredients as there are gardeners, but a simple, effective recipe consists of:
5 gallons of vermiculite, 5 gallons of peat moss, 5 gallons of washed sand, to which is added 1 cup of 10-10-10 or similar fertilizer. This mixture can be adjusted by adding a few gallons of compost or regular garden soil, replacing some of the peat with a bark product, or replacing all or part of the vermiculite with perlite..
Ohio State University has published a container gardening site that includes a detailed discussion of potting soils.