Crib Sheet: Get Started with Windows Containers and Docker

A few people have been asking about where to start with containers on Windows 10 and Windows server, and with deployment to Azure (thinking about ACS and ACIs).

Before you even worry about how you host and deploy containers in Azure, it's probably best to start with a quick 101 list of reading and video resources on Containers in general and Docker, once you've read these - you can progress onto how / where to host them in Azure (our preferred platform for Windows Container orchestration in Azure is Service Fabric)

Here we go.. This is roughly the learning path that I followed to learn about Containers.

My Colleague David Gristwood also has a nicely crafted blog post that you should read as a primer before you start along this path which is more Azure Focused, I'm focusing on the container platform itself in Windows and Docker here.

Level 100 : Start Here

QuickStart Container 101

/en-us/virtualization/windowscontainers/quick-start/index

Build 2015 - Containers what why and how

https://channel9.msdn.com/Events/Build/2015/2-704

Windows 10 Containers

/en-us/virtualization/windowscontainers/quick-start/quick-start-windows-10

What is Docker?

https://www.docker.com/what-docker

 

Level 200 : More advanced containers / docker

Linux vs Windows Containers

https://containerjournal.com/2016/10/28/linux-vs-windows-containers-whats-difference/

Hyper-V vs Windows Containers

https://windowsitpro.com/windows-server-2016/differences-between-windows-containers-and-hyper-v-containers-windows-server-201

Docker for Windows

https://docs.docker.com/docker-for-windows/

Docker Tutorial

https://docs.docker.com/get-started/

 

Docker PowerShell Tools install

Open Powershell prompt with administrative credentials and execute

Register-PSRepository -Name DockerPS-Dev -SourceLocation https://ci.appveyor.com/nuget/docker-powershell-dev Install-Module Docker -Repository DockerPS-Dev

From https://github.com/artisticcheese/artisticcheesecontainer/wiki

Windows Server - Install Server Providers

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force Install-Package -Name docker -ProviderName DockerMsftProvider

From /en-us/virtualization/windowscontainers/quick-start/quick-start-windows-server

 

Building Docker Images https://docs.docker.com/engine/reference/builder/ /en-gb/virtualization/windowscontainers/quick-start/quick-start-images

 

Service Fabric and Containers

/en-us/azure/service-fabric/service-fabric-containers-overview

 

Ch9 Link Containers and Windows Server 2016

https://channel9.msdn.com/Blogs/windowsserver/Containers-in-Windows-Server-2016/

 

Connect - path to containerization

https://view.officeapps.live.com/op/view.aspx?src=https%3a%2f%2fsec.ch9.ms%2fsessions%2fignite%2f2016%2fBRK3319.pptx

 

Level 300: Nanoserver, technical deep dive and command crib sheet.

 

Repackaging apps to install headlessly on nanoserver

https://blogs.technet.microsoft.com/nanoserver/2015/11/19/hands-on-packaging-and-installing-your-first-windows-server-apps-on-nano-server/

 

Technical Deep Dive further reading, why AND how + history and architecture on Windows Containers.

https://msdn.microsoft.com/en-us/magazine/mt797649.aspx

 

Service Fabric Container applications

/en-gb/azure/service-fabric/service-fabric-get-started-containers#create-the-containerized-service-in-visual-studio

 

+ Handy Docker Command List

Requirement Command Options Handy Values
Download a base container image docker pull <publisher/image>  microsoft/nanoservermicrosoft/iismicrosoft/windowsservercore
List downloaded images docker images
List running containers and ids docker ps
Commit a container to a new image docker commit <containeridfromdockerpscommand> <imagename>
Launch a command from a container docker run <imagename> <command> -rm Clean up container on exit, -it Run interactively (for command consoles will not run then exit)
Build a container from a dockerfile in the current path docker build