There is no agreement yet but City manager Pep Guardiola is keen to strengthen his options on the right.
City, who also have £45m England right-back Kyle Walker in their squad, are expected to pay a fee in addition to 28-year-old Danilo joining Juve.
Cancelo, 25, has also played further forward as well as at left-back.
He joined Juventus from Valencia for £35m in 2018 after spending a season on loan at Inter Milan.
Cancelo was part of the Portugal squad that won the Nations League earlier this summer although he did not play.
City signed Danilo from Real Madrid for £26.5m in 2017.
He has been involved in the Blues’ back-to-back Premier League title wins but has rarely been viewed as a first-choice.
Danilo has made 60 appearances in all competitions but only 22 league starts, the last of which came against Cardiff on 3 April.