Dogs have very sensitive noses - a million times more sensitive than that of a human. There have been cases where drug dogs have alerted on cars due to a roach in the ashtray or a tiny amount of pot spilled on the floorboard. On the other hand, some people carry an ounce of pot through airports and right by U.S. Customs drug dogs without detection.
Dogs can be trained to detect all types of drugs; marijuana, cocaine, hash, meth, heroin, and even steroids. The easiest thing for a drug dog to detect are bowls, pipes, and bongs, since the resin that builds up in them emits a strong odor that dogs easily smell. Any paraphernalia that contains resin is enough for police to arrest you on possession charge.
The key to escaping drug dog detection is for drugs to be contained in an air tight container, and preferably encased in a serious of air tight containers. If the odor of the drug is not escaping into the air and is completely contained, then even the best drug dog will not detect it.
To ensure the odor of the drug is not escaping into the air, a simple procedure can be followed. This involves a series of hand washing (so any drug residue from your hands does not contaminate the outside of the container) and placing the drugs in air tight containers. For example, place the drugs into an air-tight zip lock style bag. Push all the air out of the baggie before sealing it. Besides the zip seal, you can seal the open end of the bag even tighter carefully using a hot air gun or a lighter. Wash your hands thoroughly. Now place the original bag in another bag and seal it as before. You're your hands again and repeat the process.
Placing the drugs in four or five air tight bags (with no drug residue on the outside of the bags) makes it very unlikely that a drug dog will detect the odor of a reasonably small amount of drugs.