Any container can be used for container gardening if it has holes for drainage. Drainage becomes very important during rainstorms when containers fill up.
Lettuce and greens do well in shallow trays and window boxes.
Seedlings sprout and thrive in shallow trays where it is easier to keep the soil moist. Multi-celled starter trays work well for keeping seedlings separated. You can also sow seeds together in a tray then gently separate the seedlings from each other when it is time to transplant. Plastic containers from grocery products make great trays for starting seeds. Use a hammer and nail or drill to make holes in the bottom of the containers.
Plastic covers are helpful for keeping soil moist as seeds are sprouting. You can also use clear plastic wrap over a tray until sprouts begin to appear.
Transplant the seedlings into increasingly larger containers as they grow. I usually move them from a starter tray to a 4-inch pot to a final large pot.
Self-watering pots have a built-in reservoir.
Label plants with popsicle sticks or plastic knives (the knives never get used as quickly as the forks and spoons in the cutlery combination packages ☺).
Larger plants like tomatoes and cucumbers will need stakes, cages, or trellises for support. Use twine to gently tie the stems to the support.
Container Sources
Starter trays and covers: Carpenter Seed (1030 S State St, Provo, UT)
Window boxes and self-watering pots: Home Depot, Lowes, Walmart