The Dodgers have signed catcher Austin Barnes to a two-year, $7 million contract.