25
Docker, OSS and Azure A Short Introduction Elton Stoneman @EltonStoneman | [email protected]

Docker, OSS and Azure

Embed Size (px)

Citation preview

Page 1: Docker, OSS and Azure

Docker, OSS and AzureA Short Introduction

Elton Stoneman@EltonStoneman | [email protected]

Page 2: Docker, OSS and Azure

• Why Docker containers?

• Docker and OSS

• Docker on Azure HOLs

Page 3: Docker, OSS and Azure

Why Docker Containers?

Page 4: Docker, OSS and Azure

Density. 5-10X over VMs

4

8 VMs

40 containers

Page 5: Docker, OSS and Azure

Portability. Consistent deployment

5

Build Test Prod

Page 6: Docker, OSS and Azure

6

Security. Provenance & trust

Security ScanningContent Trust

Page 7: Docker, OSS and Azure

Docker and OSS

Page 8: Docker, OSS and Azure

buildshiprun

Page 9: Docker, OSS and Azure

Open JDK

Tomcat

Web App

Ubuntu

Apache

> docker build

Page 10: Docker, OSS and Azure

FROM tomcat:7-jre8

COPY app.war /usr/local/tomcat/webapps/

EXPOSE 8080

ENTRYPOINT catalina.sh run

Page 11: Docker, OSS and Azure

# escape=`FROM microsoft/iis:windowsservercoreSHELL ["powershell", "-Command"]

RUN Remove-Website -Name 'Default Web Site'; ` New-Item –Type Directory –Path C:\app; ` New-Website -Name 'product-launch' ` -PhysicalPath 'C:\app' -Port 80

COPY ProductLaunchWeb /app

Page 12: Docker, OSS and Azure

Docker Image

• Single (logical) binary• Complete application stack• Packaged & configured

Page 13: Docker, OSS and Azure

> docker push

hub.docker.com

Page 14: Docker, OSS and Azure
Page 15: Docker, OSS and Azure

Image Registry

• Shared image store• Free, commercial & EE products• Open source package

Page 16: Docker, OSS and Azure

> docker run

Page 17: Docker, OSS and Azure

Docker Container

• Logical process boundary• Namespaces & cgroups• Open implementation

Page 18: Docker, OSS and Azure

Docker on Azure HOLs

Page 19: Docker, OSS and Azure

Web

API

Page 20: Docker, OSS and Azure

20

Docker Compose• Distributed solutions

– Multiple containers

• Organization

– Single deployment doc

• Running

– Start, stop and scale

Page 21: Docker, OSS and Azure

version: '3'

services:

elasticsearch: image: sixeyed/elasticsearch:nanoserver message-queue: image: nats:nanoserver

index-prospect-handler: image: sixeyed/product-launch-index-handler:v4 depends_on: - elasticsearch - message-queue

Page 22: Docker, OSS and Azure

Docker Compose Fundamentals• Organizing distributed solutions

– Single definition | Multiple environments

• Managing multi-container solutions

– Start, stop, scale | Update

• Client-side tool

– Local YAML file | Remote Docker engine

Page 23: Docker, OSS and Azure

23

Docker Swarm

Manager Worker WorkerWorker

Page 24: Docker, OSS and Azure

Docker Swarm Fundamentals• Native Docker clustering

– OS | Docker

• Manager-worker architecture

– High-availability | Scale out

• Zero-downtime updates

– Application updates | Node patching

Page 25: Docker, OSS and Azure

THANK YOU