In previous blog post, we discussed what are windows containers, how they are different from Hyper-V containers and how they are beneficial to developers and sysadmins. We also discussed how Docker as a company has played an important part in the story. In this blog post, we will get quickly get started with installing windows containers and run our first container image by pulling it from docker registry.
You must have a machine with Windows Server 2016 or Windows 10 installed on it. It may be a physical machine or the virtual machine. On the Sku side, you can have either DataCenter version or Standard version as well. Or you may also use Windows Server Core version.
If its a virtual machine, make sure it has nested virtualization enabled.
All windows updates should be installed on the machine.
Windows Server 2016 introduced a new feature called Containers. By installing this feature, you can run windows containers on your server. However, these are not Linux-based and they are not related to docker (as in docker software) as well. These containers run on Windows and run Windows on the inside. Also, These conform to the Open Container Initiative (OCI). They allow you to run applications insulated from the rest of the system, within portable containers that include everything an application needs to be fully functional.
n this blog post, we’ll discuss how to configure CI/CD for dockerized apps using Visual Studio Team Services (VSTS) and deploy to a Linux based kubernetes cluster in Azure Container Services (ACS). For building dockerized app, we’ll use .NET core and build a linux based docker image. Also we’ll be using Azure Container Services to deploy Linux based Kubernetes cluster and Azure Container Registry for providing docker registry.
I have spent some time to gather list of most used docker commands and below is a summary for same. These are not full blown commands, just to get you started and then you can use inbuilt command help.
As discussed in one of the previous posts, docker is more focused on ease of use and not so much on the disk space efficiency out of the box. However, it is our responsibility to maintain adequate free space on hard disk and also do some kind of standardization. DevOps is not only about automation but it is also about standardization of process thereby removing any gotchas or discrepancy in the configuration. For example, we may like to store docker images in a separate directory that may be located on a mounted device storage or some other easy to navigate configuration.
By default, docker store containers and images in /var/lib/docker by default: