The Premier League champions have paid the Bundesliga side £15m for the 27-year-old.
Akanji is Manchester City's fifth summer arrival after Julian Alvarez, Stefan Ortega, Kalvin Phillips and Erling Haaland.
He joined Dortmund from Basel in 2018 and made 158 appearances for the club, winning one DFB-Pokal and one German Super Cup.
"I am delighted to be here, and can’t wait to get started," Akanji told the club's official website. "City have been one of the best teams in Europe over the last few seasons.
"They are brilliant to watch, play an exciting brand of football and compete for trophies year in, year out, so coming here feels like the perfect next step in my career.
"Pep Guardiola is an exceptional manager, and this is an exceptional squad of players, so this is an exciting opportunity for me.
"I am really looking forward to testing myself in the Premier League and I will do everything I can to help this club be successful."
City's director of football Txiki Begiristain added: "Manuel has plenty of experience playing at the top level of European football and we are confident he will be a valuable addition to our squad.
"We have been impressed with his performances during his time at Dortmund, where he has developed into a very good defender and one who is ready to perform in both the Premier League and Champions League.
"He has everything we want in a centre-back. He is strong, quick, comfortable in possession, has an excellent passing range and he will complement the other defenders in this team and our style of play."
Akanji has been given the number 25 jersey vacated by former captain Fernandinho.