You can think of elements of $O_n(\mathbb{R})$ as linear operators on $\mathbb{R}^n$ with the metric given by
$$
d(A,B) = \sup_{1\leq i\leq n} \|A(e_i) - B(e_i)\|
$$
where $\{e_1, e_2,\ldots, e_n\}$ denotes the standard basis for $\mathbb{R}^n$ and $\|\cdot\|$ denotes the usual Euclidean norm
$$
\|x\| = \sqrt{\langle x,x\rangle}
$$
Now recall that a matrix is orthogonal iff its column vectors form an orthonormal basis for $\mathbb{R}^n$. So $A \in O_n(\mathbb{R})$ if and only if
$$
\langle A(e_i), A(e_j)\rangle = \delta_{i,j} \quad\forall 1\leq i,j\leq n
$$
Hence,
$d(A,0) \leq 1$ for all $A \in O_n(\mathbb{R})$
If $A_k \to A$ with $A_k \in O_n(\mathbb{R})$ for all $k$, then
$$
A_k(e_i) \to A(e_i) \quad\forall 1\leq i\leq n
$$
Hence,
$$
\langle A(e_i),A(e_j)\rangle = \delta_{i,j}
$$
whence $A \in O_n(\mathbb{R})$.
Hence, $O_n(\mathbb{R})$ is closed and bounded (as a subset of $\mathbb{R}^{n^2}$), so it is compact.