I assume that the setting is as described by Pietro in the comments above, so $D$ is a connected open set and $f(\partial D)$ does not contain $0$. You can perturb $f$ so that $f|_D$ is smooth and $0$ is a regular value. Then $f^{-1}(0)$ consists of finitely many points $x_1,\ldots, x_{2n}$ contained in the open domain $D$ and $f$ is a local diffeomorphism at each $x_i$. Since the degree is zero, half of these local diffeomorphisms are orientation-preserving, say on $x_1,\ldots, x_n$. The others are orientation-reversing. Choose $n$ disjoint smooth arcs in $D$ that connect $x_i$ to $x_{i+n}$. Take a small regular neighborhood of each arc: it is an open ball with smooth boundary. On each such ball $B$ the map $f|_B$ has degree zero and you can apply Ebert's argument to modify $f|_B$ such that it avoids $0$.