Azure Container Registry is a managed Docker registry service based on the open-source Docker Registry 2.0.
- Orchestration systems that manage containerized applications, like DC/OS, Docker Swarm or Kubernetes.
- Azure services based on Docker containers, like Azure Kubernetes Service (AKS), App Service, Batch, Azure Container Instances or Service Fabric.
Azure Container Registry can also be used as part of a standard container development workflow. For example, as a container target for continuous integration and deployment tools like Visual Studio Team Services or Jenkins.
Azure Container Registry is also a suite of features that provides Docker container image builds capability in Azure. Configurable build tasks can help to automate container OS and framework patching pipelines and build images automatically when commits will come to the code repository.
Azure Container Registry has three pricing tiers: Basic, Standard and Premium. The following table details the features and limits of the Basic, Standard, and Premium service tiers:
(It's really nice to have so clear features and limits matrix which describes differences between pricing plans.)
The differences in prices is "radical" but there is no problem with later tier changing:
So, assuming full storage utilization per month we have 10GB for €4.37/month, 100GB for €17.45/month and 500GB for €43.59/month.
We are not limited to GB included in a pricing plan. If we want to extend it, we just need to pay €0.003/GB/day (it's less than €1 per month for additional 10GB of storage in a Basic plan).
If we want to use ACR for cloud-based Docker image builds, we also need to pay for it - it's an additional cost of €0.00005/second (every minute of the build will cost us €0.003, so every three minutes of build is around ¢1).
Docker Hub is a cloud-based registry service which allows you to link to code repositories, build your images and test them, stores manually pushed images, and links to Docker Cloud so you can deploy images to your hosts. It provides a centralized resource for container image discovery, distribution and change management, user and team collaboration, and workflow automation throughout the development pipeline.
In Docker Hub we are not paying for storage and builds. There is also no pricing tiers that depend on performance, limits or features. In contrary to ACR in Docker Hub all repositories are public by default. If you want to have more than one private repository, you need to pay and the price depends on the number of repositories. There is also a difference in a number of possible parallel builds per pricing plan:
Of course it's hard to compare Azure Container Registry with Docker Hub. The power of ACR is privacy by default, integration with Azure services and a strong security compliance inherited from Azure itself.
The power of Docker Hub, in the other hand, is being a community hub for image creators and out-of-box integration with GitHub and Bitbucket.
The second part of the comparison is pricing - the choice depends on your repositories characteristics and I will not summarize this comparison - You should do that.