City were thought to have wrapped up their summer business but went back into the market to add defensive depth after recent injuries to Aymeric Laporte and Nathan Ake left Ruben Dias and John Stones as the only fit senior centre-halves available to Pep Guardiola.
The Premier League champions have paid a reported £17million to land the Switzerland international, who spent four seasons with Dortmund after joining from Basel in 2018.
The 27-year-old had one year left on his contract with Dortmund, who brought in Nico Schlotterbeck, 22, this summer with Akanji indicating he wanted a new challenge.
Akanji won two DFB Pokal titles with Dortmund to add to two Swiss titles and the Swiss Cup, and now hopes to add to his medal collection in Manchester.
"I am delighted to be here, and can't wait to get started," said Akanji, who has taken the number 25 shirt vacated by former City captain Fernandinho this summer.
"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."
Akanji is City's fifth summer signing after former Dortmund team-mate Erling Haaland, Kalvin Phillips, Sergio Gomez and Stefan Ortega Moreno, while Julian Alvarez has also joined up with the squad following his switch which was agreed in January.
Both Akanji and Haaland can look forward to a quick reunion with their ex-Dortmund team-mates, who are due at the Etihad Stadium on September 14 in the group stages of the Champions League.