@rob_rich

Docker in Azure

by Rob Richardson

@rob_rich

https://robrich.org/

About Me

Rob Richardson is a software craftsman building web properties in ASP.NET and Node, Angular and React. He's a frequent speaker at conferences, user groups, and community events, and a diligent teacher and student of high quality software development. You can find this and other talks on his blog at https://robrich.org/presentations and follow him on twitter at @rob_rich.

What is Docker?

Docker is an ecosystem around Container Virtualization

What are Containers?

Light-weight kernel virtualization

What is Docker?

A suite of command-line tools for creating, running, and managing containers

Containers vs VMs

vm vs container

Source: http://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular/

Containers

Containers virtualize and share the host kernel

Containers must run on the kernel for which they were built:

  • Linux containers run on a Linux host
  • Windows Server Core
  • Windows Nano Server

Development: Docker in a VM

docker nested in a vm

Cross-platform Docker in a VM
Not for production

Docker Ecosystem

docker ecosystem

Download: https://robrich.org/slides/welcome-to-docker/docker-ecosystem.pdf

Demo

Dockerfile & Docker Container

Docker Registry

Demo

Azure Container Registry

Running Docker Containers

Docker Machine

Demo

docker-machine

Docker Machine Drivers

Control a different hypervisor

docker-machine -d thedriver ...

  • Amazon Web Services
  • Microsoft Azure
  • Digital Ocean
  • Exoscale
  • Google Compute Engine
  • Generic
  • Microsoft Hyper-V
  • OpenStack
  • Rackspace
  • IBM Softlayer
  • Oracle VirtualBox
  • VMware vCloud Air
  • VMware Fusion
  • VMware vSphere

Source: docs.docker.com/machine/drivers

Demo

docker-machine

Azure Container Service

Demo

Azure Container Service

Service Fabric Cluster

Demo

Azure Container Service

Linux Web App

Demo

Web App on Linux

Docker in Azure

Docker in Azure

Linux Windows Orchestration Choices Azure manages hardware docker-compose.yml
docker-machine Yes No* Docker Swarm No Yes
Azure Container Service Yes Manually Docker Swarm
Kubernetes
DC/OS
No Yes*
Service Fabric Cluster Beta Yes Azure Yes No
Web App on Linux Yes No Azure Yes No