This chapter contains sections titled: Introduction A taxonomy of docking problems Application scenarios in structure-based drug design Methods for protein–ligand docking Rigid-body docking algorithms Flexible ligand docking algorithms Docking by simulation Docking of combinatorial libraries Scoring protein–ligand complexes Validation studies and applications Reproducing X-ray structures Validated blind predictions Screening small molecule databases Docking of combinatorial libraries Molecular docking in practice Preparing input data Analyzing docking results Choosing the right docking tool Concluding remarks Software accessibility