According to local media, Mandzukic signed up on a two-and-a-half year contract. No transfer details were given.
The 33-year-old forward has not played for Juve since Mauricio Sarri took over as coach in June.
Al-Duhail are currently top of the Qatari league and count Mandzukic's former Juve teammate Mehdi Benatia in their squad.
In his time with Juventus, where Mandzukic arrived in 2015, he won four league titles, three Italian cups, a Supercup and was also part of the team that lost the 2017 Champions League final.
He previously played for Dinamo Zagreb (2007-10), Wolfsburg (2010-12), Bayern Munich (2012-14) and Atletico Madrid (2014-15).
With Bayern, Mandzukic won two Bundesliga titles as well as the 2013 Champions League. Internationally, he scored 33 goals in 89 appearances for Croatia, making the final of the 2018 World Cup won by France.