Chapter 3: Sharing Containers Using Docker Hub
In the previous chapter, we learned how to build a container and run it on our workstation using Docker. We used a Debian image as our starting point, but where did that image come from? The answer is that it came from Docker Hub. Docker Hub is the official container image library for Docker, run by the same folk who brought us Docker itself.
The container library contains the official images for numerous programs, servers, services, and so on that you might install within your own containers. For example, there are official images for various Linux distributions, versions of Node.js, versions of MySQL and MongoDB, and so on.
You can think of Docker Hub as being like GitHub. You can explore existing organizations and pre-made containers, as well as upload your own containers and create your own organizations.
We will demonstrate how to use the Docker Hub website to search and get information for third-party containers that you can use in your applications. We will also demonstrate how to use third-party containers from Docker Hub using the command line. We will use the official MongoDB container from Docker Hub, which is published by MongoDB, Inc.
Entire backend applications can be implemented as a combination of multiple Docker containers working together. This application structure allows each of our custom container implementations to be simple and minimal. We'll apply microservices architecture to build a simple application. This demonstrates how containers can work together to create a complete working application. Lastly, we'll see how you can share your ready-for-production containers with third parties and your development team using Docker Hub.
In this chapter, we will cover the following topics:
- Introducing Docker Hub
- Implementing a MongoDB container for our application
- Introducing the microservices architecture
- Implementing a sample microservices application
- Sharing your containers on Docker Hub