Let $U\subset \mathbb R^2$ be a bounded open convex neighborhood of $0$. For every $\epsilon>0$ we have $\displaystyle \overline U=\bigcap_{H\supset U\atop H \text{ closed half-plane}} H \subset (1+\epsilon)U$, therefore $\displaystyle \bigcap_{H\supset U\atop H \text{ closed half-plane}} H \setminus (1+\epsilon)U=\emptyset.$ Hence, by compactness, the intersection is already empty on a finite sub-family of these half-planes $H_1,\dots, H_m$, so $\displaystyle U\subset \bigcap_{1\le j\le m} H_j \subset (1+\epsilon)U$, which exhibits a convex domain bounded by a polygon close to $U$.
[edit] I think that given $\epsilon_0>0$ one can produce another positive $\epsilon<\epsilon_0$ and polygon whose boundary is inscribed to $(1+\epsilon)\partial U$ and circumscribed to $\partial U$, by the construction sketched here below:
Fix a point $x_0\in\partial U$. Form a sequence (depending on $\epsilon$, $y_k=y_k(\epsilon)$, for $k\ge0$, of points on $(1+\epsilon)\partial U $, starting from $y_0:=(1+\epsilon)x_0$, and defining inductively $y_{k+1}\in (1+\epsilon)\partial U$ as the point on the line from $y_k$ which is tangent to $\partial U$ and such that $(y_{k+1}-y_k)\cdot y_k>0$ (this is to fix a sense of rotation). The key point is that for each $k$ the point $y_k$ depends continuously from $\epsilon$. Call $m_\epsilon$ the first index $m$ such that the corresponding polygonal paths with vertices $y_0(\epsilon),\dots y_m(\epsilon)$ cross itself. Since $m_\epsilon\to\infty$ as $\epsilon\to0$, by continuity there is $\epsilon <\epsilon_0$ such that $y_{m_{\epsilon_0}}(\epsilon)= y_0(\epsilon)$, which means that the polygon with vertices $y_k(\epsilon)$ is circumscribed to $\partial U$ and inscribed to $(1+\epsilon)\partial U$.