The CW complex $X$ is paracompact (see Hatcher for the reference), so in particular admits a locally finite partition of unity. Using this object one can put a bundle metric on any (locally trivial) vector bundle $p:V\rightarrow X$ of finite rank $n$ by piecing together the standard bundle metrics that exist over each local trivialisation (I'm sure Hatcher's notes on vector bundles must cover this).
Now that a $V$ is endowed with a bundle metric $g$ you can construct the associated disc bundle
$$D(V)=\{e\in V\mid g(e,e)\leq 1\}$$
and the associated sphere bundle
$$S(V)=\{e\in V\mid g(e,e)=1\}.$$
The projection $p$ restricts to each of these spaces to give maps to $X$, and the local trivialisations of $V$ restrict to turn $D(V)\rightarrow X$ and $S(V)\rightarrow X$ into locally-trivial fibre bundles with fibres $D^n$ and $S^{n-1}$, respectively. Note that $S(V)\subseteq D(V)$ by construction.
The Thom Space of $V$ is now defined as the quotient space of the disc bundle by sphere bundle
$$Th(V)=D(V)/S(V).$$
The notation that Hatcher is using is $E=D(V)$, $E'=S(V)$.
Hence there is long-exact sequence in cohomology
$$\dots\rightarrow H^nD(V)\rightarrow H^nS(V)\rightarrow H^n(D(V),S(V))\rightarrow \dots$$
where $H^n(E,E')=H^n(D(V),S(V))\cong H^n(D(V)/S(V))=H^n(Th(V))$.
The nlab page is working under the assumption that $X$ is simply connected. Therefore let us choose a basepoint $x\in X$ and an isomorphism $H^n(D(V)_x,S(V)_x)\cong H^n(D^n,S^{n-1})\cong H^n(S^n)\cong\mathbb{Z}$ of the relative cohomology of the fibres over $x$ to get a generator $t_x\in H^n(D(V)_x,S(V)_x)$. This basis element now transports uniquely to a generator $t_y\in H^n(D(V)_y,S(V)_y)\cong\mathbb{Z}$ for the cohomology of the fibre over any other point $y$ contained in a suitable local bundle chart $U$ at $x$. In this way we get a generator $t_U$ for $H^n(D(V)|_U,S(V)|_U)\cong\mathbb{Z}$.
If $U'$ is another bundle chart for $V$ which intersects $U$ non-trivially then we construct a second generator $t_{U'}\in H^n(D(V)|_{U'},S(V)|_{U'})\cong\mathbb{Z}$. Using a Mayer-Vietoris argument we can arrange to choose $t_{U'}$ so that there is agreement $t_U|=t_{U'}|\in H^n(D(V)|_{U\cap U'},S(V)|_{U\cap U'})$.
Continuing in this way we arrive at a global class $t\in H^n(D(V),S(V))$ which for any point $x\in X$ restricts to a generator of $H^n(D(V)_x,S(V)_x)$. That is, $t$ is exactly a Thom class for $V$.
Hatcher's more general statement now follows.
Best Answer
@withoutfeather is correct; he is not claiming that this is a proof of the Thom isomorphism, but rather a corollary. Look at Milnor and Stasheff's proof of the Thom isomorphism; it is entirely phrased in terms of the axioms of a homology theory plus the notion of an orientation, so the same proof of the Thom isomorphism works for any ring spectrum and vector bundle oriented over that ring spectrum.
Then Bruner is claiming his composite implements the map of the Thom isomorphism, and so by the Thom isomorphism is an equivalence.