Molecular docking has become an increasingly important tool for drug discovery. In this review, we present a brief introduction of the available molecular docking methods, and their development and applications in drug discovery. The relevant basic theories, including sampling algorithms and scoring functions, are summarized. The differences in and performance of available docking software are also discussed. Flexible receptor molecular docking approaches, especially those including backbone flexibility in receptors, are a challenge for available docking methods. A recently developed Local Move Monte Carlo (LMMC) based approach is introduced as a potential solution to flexible receptor docking problems. Three application examples of molecular docking approaches for drug discovery are provided.