The Belgian winger fired us ahead just before half-time with a left foot curler from the edge of the box.
But Everton hit back with three goals in 13 minutes in the second half with two from Thierno Barry either side of Jake O’Brien’s header.
Erling Haaland pulled a goal back immediately after going two goals behind and Doku grabbed a 97th minute equaliser, this time firing in with his right foot.
The result leaves us five points off the top of the Premier League with a game in hand but it could yet prove to be a vital point.
The game in 250 words
It may have been our first ever visit to the Hill Dickinson Stadium, but we looked at home in the opening exchanges.
With 85% of possession and five corners in the opening 20 minutes, it was one-way traffic as we pushed for a crucial opener.
Antoine Semenyo went closest with a cross-shot that drifted agonisingly wide of the far post without anyone getting a touch before a first time volley over the bar from Doku’s cross.

Everton were happy to sit deep but they broke quickly shortly after the half hour and Gianluigi Donnarumma’s got a vital touch to Merlin Rohl’s dangerous cross with Beto lurking.
However it was City who kept pushing for an opener, Cherki firing Doku’s cross over the bar before the Belgian curled in a stunning opener.
As City moved the ball quickly around the box, Doku collected a Cherki pass on the edge of the area and whipped his left shot into the top corner.

The lead meant that Everton took more risks after the break and Donnarumma made two big saves from Iliman Ndiaye early in the second half.
First he kept out a low effort on the stretch before an even better save when the Everton winger raced clear but couldn’t beat the goalkeeper’s big frame.
However, Barry levelled when he finished off Marc Guéhi’s short backpass, initially ruled offside before a change of decision.
And the home side were ahead five minutes later when O’Brien flicked home James Garner’s corner at the nearpost.

City chased an equaliser and we were caught on the break with Rohl’s miscued shot landing at the feet of Barry for his second.
Straight from the kick-off, Haaland gave City hope of rescuing a result, racing onto Mateo Kovacic’s pass and lifting the ball into the net.
We kept chasing an equaliser with Donnarumma going up for two late corners and there was to be one final twist with Doku hitting a fabulous late strike.
Teams
EVERTON: Pickford, O’Brien, Tarkowski, Keane, Mykolenko, Garner, Rohl (Patterson 90+2), Iroegbunam, Dewsbury-Hall (Alcaraz 90+2), Ndiaye, Beto (Barry 64).
Subs not used: Travers, McNeil, George, Dibling, Coleman, Armstrong.
CITY: Donnarumma, Nunes, Khusanov, Guéhi, O’Reilly, Nico (Kovacic 75), Bernardo (C) (Marmoush 87), Semenyo (Foden 74), Cherki, Doku, Haaland.
Subs not used: Trafford, Reijnders, Stones, Ake, Ait-Nouri, Savinho.
Player of the match
In a recent interview, Doku said he wanted to get more easy goals and tap-ins.
Unfortunately, there weren’t many of those opportunities knocking about against an Everton side defending deep in their own box.
So he had to come up with something special to give us the breakthrough, hitting a wonderful strike from the edge of the area.
And his second was almost a carbon copy, this time with his right foot for what could be a crucial equaliser.
It capped a brilliant performance when he was a constant threat and was grateful to escape injury from an ugly late tackle from Michael Keane.
Fight to the end
The battling spirit was clear as we fought back from a two-goal deficit with just nine minutes on the clock.
While we made the short trip wanting all three points, rescuing a point may yet be crucial.
It was seconds short of ticking over to 97 minutes when Doku struck.
Three of our remaining games are at the Etihad and there sure to be unmissable as we aim to keep the pressure on Arsenal.
Guardiola reaction
“In general we were good in our process. We arrived on the left side and Doku was outstanding. Unfortunately we could not capitalise, especially like we did in the first half. Everton away is always difficult.
“It’s better than losing, It shows what type of team they are.
“[The title race] is not in our hands. Before it was, now it’s not. We have four games left. We will see what happens.”
DOKU reaction
“First half we played well and created a lot of chances. We know if we don’t score those chances it is going to get difficult at the end.
“Obviously, they are at their own stadium, they create chances, and they are dangerous, and they scored two goals, but I think we gave them the game.
“Good that we came back because one point is not bad in games like this.
“We know that one point can be important at the end. I’m happy to score and happy to help the team.
“We will see. It feels painful now. There is still a lot of games to go. We lost two points today. We will keep on fighting - we owe it to ourselves and to our fans.”
What it means
A draw means City are five points behind leaders Arsenal with a game in hand.
We have four games remaining while the Gunners have three and are four goals better off on goal difference.
What’s next
We return to the Etihad Stadium for our next Premier League clash against Brentford.
The Champions League-chasing Bees are the visitors on Saturday 9 May for a 17:30 (UK) kick-off.
News about Everton v Man City
We will keep going and see what happens - Guardiola
Pep Guardiola said City will keep fighting for the Premier League despite losing control of the title race following our 3-3 draw with Everton. Read more