It is natural, I think, to initially get the feeling that *sheaves *and *fiber bundles *are very related. However, the two are actually quite different, despite having some important overlap. Put another way, there are tons of fiber bundles on $X$ which are not sheaves on $X$ and visa versa, but there is an important class of fiber bundles which coincides with an important class of sheaves, as I hope to explain.

First of all, the category of *sheaves* on $X$ is way too big; we find connections to bundles by fixing a *structure sheaf* $\mathcal{O}_{X}$, defining a locally-ringed space $(X, \mathcal{O}_{X})$, as you describe. We now don't want to consider all sheaves on the topological space $X$, but rather *sheaves of $\mathcal{O}_{X}$-modules. *We say a sheaf $\mathscr{F}$ is a sheaf of $\mathcal{O}_{X}$-modules if for all open sets $U \subseteq X$, then $\mathscr{F}(U)$ is an $\mathcal{O}_{X}(U)$-module (plus a compatibility with restriction morphisms).

There are certain very special $\mathcal{O}_{X}$-modules called *locally-free sheaves*. These are sheaves $\mathscr{F}$ such that there exists an open cover $\{U_{i}\}$ of $X$ satisfying $\mathscr{F}(U_{i}) \cong \mathcal{O}_{X}(U_{i})^{\oplus N}$, for some $N$. Notice that a general sheaf need not have any local trivialization property...this is one of the reasons they cannot possibly be related to a fiber bundle. To find a relation, you need some sort of local trivialization property. This comes naturally in the form of locally-free sheaves.

However, note that the structure sheaf $\mathcal{O}_{X}$ must be fixed throughout! In other words, it doesn't make sense to talk in full generality about "locally-free sheaves." Rather, one must talk about "locally-free sheaves inside the category of $\mathcal{O}_{X}$-modules."

Anyway, the punchline here is that for a fixed locally-ringed space $(X, \mathcal{O}_{X})$, deep within the category of $\mathcal{O}_{X}$-modules, you find a collection of locally-free sheaves which are indeed fiber bundles. One perhaps intuitive way to think about the category of *all *sheaves on $X$ is by starting with those that define fiber bundles and allowing more and more degenerative behaviour. For example, allow them to *not* be locally trivial, then maybe allow them to jump in rank, then allow for them to only be supported on part of $X$, etc.

I hope this was somewhat helpful!