Using the Windows EventViewer GUI to view Eventlogs in Containers

If you work with legacy apps (or maybe some not so legacy apps) in containers then you know about what a pain it is to read the all important event log. In this post I’ll present a passable pattern that is good enough for occasional use, like when initially deploying or diagnosing an in-production failure….


Getting IIS Win Auth to Work in a Container

As you have no doubt figured out by now, containerization of IIS apps that use Windows Authentication to authenticate users is not as simple as referring to the gMSA of the app in the credentialspec of the Docker Run command. Two new things are needed: 1) association of the Service Principal Name with the gMSA…


CI/CD of Containers from Visual Studio to Service Fabric

CI/CD is all the rage for software deployment for good reason. Docker Containers are all the rage for software packaging and distribution for good reason. When the two are combined you get much more than the sum of the parts, they come together in a very natural way that suggests that they were created to act…


Visual Studio 2017 : client version 1.22 is too old

This might come in handy when building with Containers in Visual Studio 2017 I created a containerized core app and I got this exception: “Microsoft.DotNet.Docker.CommandLineClientException: client version 1.22 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version.” on the first build right out of the gate using just what the…


Remediate Multi-tenancy Port Collision -or- How I put Multiple Container Websites is a single VM / Scaleset

Many apps (legacy and modern) provide service interfaces on TCP ports. Many of these service interfaces expect to reside on a well-known port, for example HTTP (80) and HTTPS(443). The current implementation of Windows Containers employs a port mapping mechanism to expose ports running on the container to access from outside the container, and any other access from the  network to…


Manage IIS on a Container with the IIS Admin Console

Many legacy apps are based on IIS and ship with documentation which describes deployment and management operations primarily via the IIS Manager. This console is a GUI. Windows Containers do not support any form of GUI, so all ‘local’ operations must be performed via a command line interface. We will demonstrate how to prepare containers for IIS…


Access a Database with Active Directory from a Windows Service in a Container

As companies move to modernize their IT operations they will frequently encounter legacy applications which need to be moved one way or another onto a modern platform such as Azure Service Fabric and/or Containers. Sometimes there is time/budget for a complete rewrite and sometimes not. In this post we’ll demonstrate how to deploy a classic Windows Service onto a Windows Container without touching…


Create a Container with Active Directory Support

Windows Containers do not ship with Active Directory support and due to their nature can’t (yet) act as a full-fledged domain joined objects, but a certain level of Active Directory functionality can be supported through the use of Globally Manages Service Accounts (gMSA). An introduction to gMSA can be found here : The gMSA…


Group Managed Service Accounts

If the app which you will be deploying to a Windows Container requires Active Directory support, you will need to obtain at least one Group Managed Service Account (gMSA). In this post we will describe how to create/obtain a gMSA, in a later post we will show you how to apply them to Windows Containers. If…