Bundles are usually defined as being locally trival thingamajigs. A trivial bundle with fiber $F$ looks like the projection map $U \times F \to U$. A section of a trivial bundle is just a function $U \to F$. A global function on a manifold is the same as a bunch of local functions that literally agree on the overlaps. Similarly a global section of a bundle is the same as a bunch of local sections (which, again, are just functions) that "agree" on the overlaps, where now "agree" does not mean literally agree, but "agree after a twist", where the "twists" comes from the transition functions of the vector bundle.
Whenever we have a bundle, we can form a sheaf out of it. The corresponding sheaf is the one which maps open sets $U$ to the set of sections of the bundle over $U$. Conversely, if we have a sheaf on a space $X$, it is possible to construct a space $Y$ and a map $Y \to X$ such that the "sections" of the sheaf correspond to the actual sections of the map $Y \to X$. This is called the espace étalé and is discussed herehere and somewhere in Hartshorne chapter II section 1.
You may also be interested in looking at Hartshorne chapter II exercise 5.18.