To make matters worse, as soon as you do use a form of быть B turns instrumental: он - (не) хороший учитель : он (не) был хорошим учителем.
This is because you use past. If you use present "Он не есть хороший учитель" you use nominative.