Bulgaria started the night in second place in Group B, behind Italy and level on points with Denmark, but their 1-0 home defeat and the Danes' 6-0 win over Malta meant they missed out on the runner-up spot and a second chance of qualification.
They made things even more difficult for themselves after defender Petar Zanev was sent off in the 75th minute for his second bookable offence.
Dockal scored in the 51st minute to claim victory for the visitors, who had still been in with a shout of second place themselves, however other results did not go their way.
There were only a few chances in the first half, with Libor Kozak going close for the Czechs in the 14th minute when his strike from the edge of the area flew over the bar before Petr Jiracek saw his shot denied by Bulgaria goalkeeper Vladislav Stoyanov.
Ventsislav Hristov had a chance comfortably saved at the other end by visiting stopper Petr Cech as the teams remained deadlocked at half time.
After the break, Cech pulled off a brilliant save to deny Dimitar Rangelov when he tipped his 49th-minute effort around the post.
Dockal then made the breakthrough soon after at the other end with a 30-yard strike with Bulgaria's closest effort to get themselves back in the game coming when Vladimir Gadzhev forced a save from Cech from distance.
Zanev's dismissal with 15 minutes remaining extinguished Bulgaria's dying hopes of turning the game around and claiming victory.