Skip to content
This repository was archived by the owner on May 7, 2024. It is now read-only.

03. Publishing your Windows Container images into a Docker Registry

Cesar De la Torre edited this page Apr 12, 2018 · 31 revisions

Overview

When deploying a Docker container into production environments (including Windows Containers and Linux containers), you need to deploy it by pulling its related Docker image ("docker pull") from a Docker Registry, in the first place. After that, you'll be able to deploy it to multiple environments like a regular Docker Host (VM), Azure Container Instances, Kubernetes, Service Fabric, Azure App Service, etc.

But the common denominator that you need to use is a Docker Registry. When you are creating a custom application which will be running as a container, you also need to know how to create its related custom Docker image and how to publish that image into a Docker Registry.

This walkthrough assumes a basic understanding of Docker. You can learn about Docker by reading the Docker Overview.

Goals for this walkthrough

This post describes how to create a custom eShopModernizedMVC Windows Container image (Docker image for Windows Containers) in your local development PC with Visual Studio and 'Docker for Windows' installed and then how to publish it into a Docker Registry.

A Docker Registry is a public or private store, running on a public cloud or on-premises, which contains Docker container images, either for Linux or Windows. An example od a Docker Registry is 'Docker Hub' and 'Azure Container Registry'. Both are public registries and both allow private repositories of images.

A few examples of a Docker registry and its related taxonomy is shown below.

image

Publishing your custom Docker images in a Docker Registry requires a 2-step process:

  1. Create your custom Docker image (Windows Container image, in this case)
  2. Publish/Push your custom Docker image into a Docker Registry (i.e. Docker Hub or Azure Container Registry)

You can also do the same action but in an automated way from your CI or build pipelines like in Visual Studio Team Services (VSTS) or Jenkins.

Scenario 1: Create your Windows Container image with Docker CLI and Visual Studio

As explained in the previous post titled "How to containerize the .NET Framework web apps with Windows Containers and Docker", the following image shows you the environment in your local development PC when creating and running your containers locally.

image

However, when you need to deploy your image as a container into production environments, you first need to publish/push your images into a Docker Registry (i.e. Docker Hub or Azure Container Registry) as in the following evolved figure.

************** TBD image **************

Scenario 2: Publish/Push your Windows Container image into a Docker Registry (i.e. Docker Hub) using the Docker CLI

************** TBD image **************

Clone this wiki locally