Girish Goudar
@girishtweek
Agenda
• Docker
• Windows and Hyper-V Containers
• Demo
• Dockerize ASP.Net Application
• Demo
• Dockerize ASP.Net Core application
• Demo
• Deployment options(Kubernetes in Azure)
• Demo
Docker
Architecture In Linux
containerd + runc
REST Interface
libcontainerd graphlibnetwork plugins
Control Groups
cgroups
Namespaces
Pid, net, ipc, mnt, uts
Layer Capabilities
Union Filesystems AUFS,
btrfs, vfs, zfs*,
DeviceMapper
Other OS
Functionality
Docker Client
Docker
Registry
Docker Compose Docker Swarm
Architecture In Windows
REST Interface
libcontainerd graphlibnetwork plugins
Control Groups
Job objects
Namespaces
Object Namespace,
Process Table,
Networking
Layer Capabilities
Registry, Union like
filesystem extensions
Other OS
Functionality
Compute Service
Docker Client
Docker
Registry
Docker Compose Docker Swarm
‘containerd’ + runc
Windows Containers
Host User Mode
Container
Runtime
Windows Containers
App
Host User Mode
Container
Runtime
Windows Containers
App
Host User Mode
Container
Runtime
App
Windows Containers
App
Host User Mode
Container
Runtime
Hyper-V Isolation
Virtual Machine
Optimized for Container
App
Windows Containers
App
Host User Mode
Container
Runtime
Hyper-V Isolation
Virtual Machine
Optimized for Container
App
Hyper-V Isolation
Virtual Machine
Optimized for Container
App
DOCKER_HOST
Images CacheContainers
RegistryClient
Docker pull Docker daemon
Docker run
Docker high level architecture
Dot
Net
Dot
Net
Dot
Net
Dot
Net
microsoft/nanoserver:10.0.14393.1066
e.g. debian/jessie
microsoft/dotnet:1.1.1-runtime-deps
microsoft/dotnet:1.0.0-sdk
microsoft/dotnet:1.1.1-runtime
microsoft/aspnetcore:1.1.1
Your application layer
Layers
Demo
• Setup
• Windows server 2016
• Docker on Windows
• Windows container
• Hyper-V container
Demo
• Dockerize ASP.NET Application
Demo
• Dockerize ASP.NET Core application
• Docker-Compose(Azure Cosmos DB + Web API)
Deployment Options
• Azure App service - Linux container
• Azure Server fabric - Windows container
• Azure Container service - Linux & Windows containers
Docker Swarm
Kubernetes
DC/OS marathon
Kubernetes
Kubernetes
• Pods : Its a collection of containers and the basic unit of deployment
• Replication controller: Deploys the specified number of pods and make sure
the system is in the desired state
• Deployments: It contains the details of the pods and the replication controller
It will deploy the replica sets which will deploy pods and in turn deploy
container
• Services: Its a group of pods that can be accessed as a single unit. If one of
the pod goes down. a new a pod is created and user has to contact only the
service and not to the pods directly
Demo
• Deploy ASP.NET Application
• Deploy ASP.NET Core Application
Thank you
Q & A

Windows server and docker