Docker on Windows
上QQ阅读APP看书,第一时间看更新

Image registries

A registry is a storage server for Docker images. Registries can be public or private, and there are free public registries and commercial registry servers which allow fine-grained access control for images. Images are stored with a unique name within the registry. Anyone with access can upload an image by running docker image push, and download an image by running docker image pull.

The most popular registry is Docker Hub, which is the public registry hosted by Docker, but other companies also host their own registries to distribute their own software:

  • Docker Hub is the default registry, and it has become hugely popular for open source projects, for commercial software, and for teams working on private projects. There are hundreds of thousands of images stored on Docker Hub, which serves billions of pull requests every year. You can configure Docker Hub images to be public or private. It's suitable for internal products, for which you can limit access to images. You can set up Docker Hub to automatically build images from Dockerfiles stored in GitHub – currently, this is supported only for Linux-based images, but Windows support should be coming soon.
  • Microsoft Container Registry (MCR) is where Microsoft host their own Docker images for Windows Server Core and Nano Server, along with images preconfigured with the .NET Framework. Microsoft's Docker images are free to download and use. They only run on Windows machines, which is where the Windows  licensing is applied.

In a typical workflow you might build images as part of a CI pipeline and push them to a registry if all the tests pass. You could use Docker Hub, or you could run your own private registry. The image is then available for other users to run your application in a container.