In this paper, codes over the direct product of two finite commutative chain rings are studied. The standard form of the parity-check matrix is determined. The structure of self-dual codes is described. A distance preserving Gray map from the direct product of chain rings to a finite field is defined. Two upper bounds on minimum distance are obtained.