2. In the **File** menu, select **Open Folder**. Choose **Clone Git Repository** and paste this URL: [https://github.com/docker/getting-started-todo-app](https://github.com/docker/getting-started-todo-app)

3. Right-click the `Dockerfile` and select the **Build Image...** menu item.

4. In the dialog that appears, enter a name of `DOCKER_USERNAME/getting-started-todo-app`, replacing `DOCKER_USERNAME` with your Docker username.
5. After pressing **Enter**, you'll see a terminal appear where the build will occur. Once it's completed, feel free to close the terminal.
6. Open the Docker Extension for VS Code by selecting the Docker logo in the left nav menu.
7. Find the image you created. It'll have a name of `docker.io/DOCKER_USERNAME/getting-started-todo-app`.
8. Expand the image to view the tags (or different versions) of the image. You should see a tag named `latest`, which is the default tag given to an image.
9. Right-click on the **latest** item and select the **Push...** option.

10. Press **Enter** to confirm and then watch as your image is pushed to Docker Hub. Depending on your upload speeds, it might take a moment to push the image.
Once the upload is finished, feel free to close the terminal.
{{< /tab >}}
{{< /tabs >}}
## Recap
Before you move on, take a moment and reflect on what happened here. Within a few moments, you were able to build a container image that packages your application and push it to Docker Hub.
Going forward, you’ll want to remember that:
- Docker Hub is the go-to registry for finding trusted content. Docker provides a collection of trusted content, composed of Docker Official Images, Docker Verified Publishers, and Docker Sponsored Open Source Software, to use directly or as bases for your own images.
- Docker Hub provides a marketplace to distribute your own applications. Anyone can create an account and distribute images. While you are publicly distributing the image you created, private repositories can ensure your images are accessible to only authorized users.
> **Usage of other registries**
>
> While Docker Hub is the default registry, registries are standardized and made
> interoperable through the [Open Container Initiative](https://opencontainers.org/). This allows companies and
> organizations to run their own private registries. Quite often, trusted content
> is mirrored (or copied) from Docker Hub into these private registries.
>
## Next steps
Now that you’ve built an image, it's time to discuss why you as a developer should learn more about Docker and how it will help you in your day-to-day tasks.
{{< button text="What's Next" url="whats-next" >}}