As containers become the modern software packaging format, software vendors need to provide their software container images in places where people would expect to discover them such as Docker Hub and provide a fast, consistent, and trustworthy acquisition experience. To achieve this, Microsoft is transitioning to a syndication model, enabling multiple channels of discovery, with a single download source for Microsoft’s container images. The container syndication model, initially being co-developed by Microsoft and Red Hat, is intended to become part of a further community collaboration on open standards for container content. We believe this will better serve customers as they will have channels of discovery they’ve become accustomed to, while having a consistent and reliable source where vendor images are kept up to date. In May 2018, Microsoft will start serving container images from mcr.microsoft.com, the Microsoft Container Registry (MCR), and syndicating the content describing the container images with Docker Hub and Red Hat.
Docker Hub will continue to be the official source for Docker customers to discover Docker Certified images deployed to Docker Enterprise Edition. As Docker users browse Docker Hub, they will continue to find official Docker Certified Microsoft images; such as SQL Server. As Red Hat customers browse the Red Hat Container Catalog, they will find Red Hat certified Microsoft software, including the upcoming SQL Server Red Hat Enterprise Linux image. Lastly, when Azure customers browse Azure Marketplace, they will also find Microsoft images, with content specific to running on Azure.
The syndication of catalog content is a model familiar to retail scenarios. For example, Microsoft XBox isn’t just available through the Microsoft store. Microsoft has partnered with multiple retail outlets, offering XBox and Microsoft Studio games. Regardless of the acquisition channel, Microsoft Studio gamers are served by Microsoft servers.
As customers browse each container catalog, they will find the content formatted and tailored to the syndicated catalog. Regardless of where customers discover Microsoft images, the pull source will be mcr.microsoft.com.
Browsing the Microsoft Container Registry
The Microsoft Container Registry does not have its own catalog experience and is meant to support existing catalogs such as Docker Hub, Red Hat Container Catalog, and Azure Marketplace. We believe there are existing catalogs we should syndicate with, engaging customers where they have centers of expertise.
Benefits of the Microsoft Container Registry
As a software company, Microsoft is committed to customers running Microsoft software on-prem and in other clouds. With Azure’s global footprint, coupled with Azure CDN, customers can rest assured their image pull experience will be consistent and improve over time. Azure customers, running their workloads in Azure will benefit from in-network performance enhancements as well as tight integration with the Microsoft Container Registry (the source for Microsoft container images), Azure Container Registry (a service in Azure for customers to customers to create and manage private registries), Azure Marketplace, and the expanding number of services in Azure that offer containers as the deployment package format.
As an example, this week, we announced ACR Build (Preview), a container build capability, providing OS and Framework Patching. Integrations between ACR and MCR will assure customers who base their deployments on Microsoft images will have the best possible experience Azure can offer. ACR Build will support integrations with Docker Hub and other popular registries as well, assuring customers can integrate the world of software available to them.
Starting small
Starting in May 2018, a small selection of images will start migrating from microsoft/* to mcr.microsoft.com/*. As customers browse images on Docker Hub, they will see updates, reflecting the specific images served by the Microsoft Container Registry. As we complete syndication automation over the next several months, all microsoft/* images will migrate to MCR. We are working with Docker to provide a consistent experience customers have grown to expect from Docker Hub.
Committed to non-breaking impact
Microsoft and Docker are committed to supporting all existing and new customers. Currently supported image tags pulled from Docker Hub will continue to work. Whether you’ve deployed the image as docker pull microsoft/*, or referenced the image in a Dockerfile FROM statement, if the tag was pulled from Docker Hub, it will continue to work. This is true for the latest tag as well. Consistent with the commitments of each Docker Hub repo, Microsoft will continue servicing stable tags with OS and Framework patching as well.
As images migrate to MCR, Docker Hub landing pages will be updated to reflect the new pull location. As customers change their Docker pull/FROM statements, reflecting new tags, they will update the left part of the string, expanding microsoft/ to mcr.microsoft.com/.
All new tags will be available through MCR
To provide a consistent and clean migration, any supported tag posted to Docker Hub will also be available on mcr.microsoft.com. As each repository is migrated to MCR, customers can switch references to all supported tags of the repo to MCR.
A chance to organize
Any move is an opportunity to “clean up” and get a little more organized. Through the community, we’ve learned a lot about how to organize image names, tags and documentation. As images are migrated to MCR, you’ll see consistent readmes that contain common headings; (What is it, How to use it, Tag listings with the related Dockerfile references). By automating the MCR catalog and content flow to syndicated catalogs, MCR will introduce related images, with the short description headings alongside the image name, as well as consistent vulnerability scanning reports.
As we work to categorize official product images, samples and experiments, there will be images that will move a bit. For example, the SQL Server Image, which is currently split across two repos -linux and -windows, will consolidate and leverage multi-arch manifests. Some image names, that were a bit abbreviated, and hard to discover, will have more consistent naming. Samples repos will move to a /samples namespace, while experiments will use an /experiments namespace. Our goal is to provide more clear expectations for official, product team supported and maintained images, with the flexibility the community has come to expect from samples and experiments.
Watch for additional updates from each of the product teams on the details of their migrations to MCR!
A special thank you to Docker
Docker has made containerization a modern development paradigm shift. The ease by which customers can build, store, pull, and run mini-virtualized units of software has changed the industry. We continue to view our partnership with Docker as a top priority, including the experience customers have come to expect from Docker Hub.