You can use a native WordPress gallery.
Create or edit the post or page that you want the gallery to appear in and then click the “Add an Image” button (it looks like a picture frame right next to “Upload/Insert” above the post editor). You can use this to upload all of your images at full size and WordPress will automatically generate the various sizes (including thumbnails) for you. Now, it’s important to note that once you add an image via this method while writing or editing a post or page, it will be assigned to that specific post or page, which is how WordPress keeps track of the gallery’s content. Once you have uploaded all the desired images, click the “Add an Image” button again,?select the “Gallery” tab, choose your desired settings, and click the “Insert Gallery” button at the bottom to add the gallery to your post or page.
If you like getting your hands dirty, there are few more settings that you can tweak by altering the gallery shortcode in the HTML editor tab.
Once you have your gallery setup, there are plenty of good plugins to further enhance it, like jQuery Lightbox For Native Galleries.