(i). for any $\delta \gt 0$ consider
$p_\delta(z) :=\frac{1}{1+\delta}z^3 + 3z^2 + 2$
and for $ z\in S^1 = \partial D$
$\big\vert 3z^2\big\vert =3 \gt \frac{1}{1+\delta} + 2 = \big\vert \frac{1}{1+\delta}z^3\big\vert + \big\vert 2\big\vert \geq \big\vert \frac{1}{1+\delta}z^3 + 2\big\vert$
$\implies 3z^2 \text{ and }p_\delta(z)$ have the same number of roots in $D$ per Rouche. That is: $p_\delta(z)$ has exactly $2$ roots in the open unit disc, $D$.
(ii.) Now for $p$ itself, write:
$p(z)=z^3 + 3z^2 + 2=(z-\lambda_1)(z-\lambda_2)(z-\lambda_3)$
$\implies -2=\lambda_1\cdot \lambda_2\cdot \lambda_3$
so $p$ has at least one root (call it $\lambda_3$) with modulus $\gt 1$, i.e. at most two roots $\in \overline D$
Now combining with (i.): the topological continuity of a polynomial's roots [equivalently: Hurwitz Theorem] tells us $p$ has at least two roots in $\overline D$, so $p$ has exactly two roots in $\overline D$.
Finally, $p(1)\neq 0$ and $p(-1)\neq 0$ so any roots on the unit circle come in conjugate pairs (since $p$ has real coefficients) and $\lambda_1 \in \partial D\implies -2=\lambda_1\cdot \lambda_2\cdot \lambda_3 = \lambda_1 \cdot \overline \lambda_1 \cdot \lambda_3 = \lambda_3$ but $p(-2)=6\neq 0$ so this is impossible. Conclude $\lambda_1,\lambda_2 \in D$.