emc world 2016 - code.09 introduction to the docker platform

36
1 © Copyright 2016 EMC Corporation. All rights reserved. 1 © Copyright 2016 EMC Corporation. All rights reserved. DOCKER PLATFORM 101 KENNY COLEMAN | MANO MARKS | Developer Advocate - EMC {code} Director, Developer Relations - Docker

Upload: code-by-dell-emc

Post on 08-Feb-2017

339 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: EMC World 2016 - code.09 Introduction to the Docker Platform

1© Copyright 2016 EMC Corporation. All rights reserved. 1© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER PLATFORM 101KENNY COLEMAN | MANO MARKS |

Developer Advocate - EMC {code}Director, Developer Relations - Docker

Page 2: EMC World 2016 - code.09 Introduction to the Docker Platform

2© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER PLATFORM

101Kenny ColemanDeveloper Advocate@kendrickcoleman

Director, Developer Relations@ManoMarks

Mano Marks

Page 3: EMC World 2016 - code.09 Introduction to the Docker Platform

3© Copyright 2016 EMC Corporation. All rights reserved.

BACKLOG

DOCKER

• Why change?• Brief History• What is it?• Who cares?• Containers vs VMs• Today’s Stats• Ecosystem

DOCKER PLATFORM

• Docker Engine• Docker Hub• Docker Compose• Docker Swarm• Docker Machine• Docker Toolbox• Docker Trusted Registry• Docker Cloud

Page 4: EMC World 2016 - code.09 Introduction to the Docker Platform

5© Copyright 2016 EMC Corporation. All rights reserved. 5© Copyright 2016 EMC Corporation. All rights reserved.

Loosely Coupled Services

Many Small Servers

~2000 Today

Monolithic

Big Servers

Slow changing

Rapidly updated

APPLICATIONS ARE CHANGING

Page 5: EMC World 2016 - code.09 Introduction to the Docker Platform

6© Copyright 2016 EMC Corporation. All rights reserved. 6© Copyright 2016 EMC Corporation. All rights reserved.

The challenge: new matrix from hell

Virtual machines

Server Public Cloud

Disaster Recovery

Developer Laptop

Server Cluster

Data Center

Static Website

Web Front EndBackground Workers

User DB

Analytics DB

Queue API Endpoint

Development Test & QA Production Scale Out

Page 6: EMC World 2016 - code.09 Introduction to the Docker Platform

8© Copyright 2016 EMC Corporation. All rights reserved.

2013…ENTER THE DOCKER CONTAINER

• Packages up software binaries and dependencies• Isolates software from each other • Container is a standard format• Easily portable across environment• Allows ecosystem to develop around its standard

Page 7: EMC World 2016 - code.09 Introduction to the Docker Platform

9© Copyright 2016 EMC Corporation. All rights reserved. 9© Copyright 2016 EMC Corporation. All rights reserved.

Static Website

Web Front End

Background Workers

User DB Analytics DB

QueueAPI Endpoint

Any App Anywhere

Composable

Dynamic Portable

ELIMINATING THE MATRIX

Page 8: EMC World 2016 - code.09 Introduction to the Docker Platform

10© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER BASICSDocker ImageThe basis of a Docker container

Docker ContainerThe standard unit in which the application service resides

Docker Engine Creates, ships and runs Docker containers deployable on physical or virtual host locally, in a datacenter or cloud service providerDocker Registry/HubOn-premises registry or Docker Hub for image storing and collaboration

Page 9: EMC World 2016 - code.09 Introduction to the Docker Platform

11© Copyright 2016 EMC Corporation. All rights reserved.

DEMO!

Page 10: EMC World 2016 - code.09 Introduction to the Docker Platform

12© Copyright 2016 EMC Corporation. All rights reserved.

docker run –d –-name webserver –p 5000:80 nginx Docker Hub############################################################FROM debian:jessie

MAINTAINER NGINX Docker Maintainers "[email protected]"

ENV NGINX_VERSION 1.9.15-1~jessie

RUN apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 \

&& echo "deb http://nginx.org/packages/mainline/debian/ jessie nginx" >> /etc/apt/sources.list \

&& apt-get update \&& apt-get install --no-install-

recommends --no-install-suggests -y \

ca-certificates \

nginx=${NGINX_VERSION} \

nginx-module-xslt \

nginx-module-geoip \

nginx-module-image-filter \

nginx-module-perl \

nginx-module-njs \

gettext-base \&& rm -rf /var/lib/apt/lists/*

# forward request and error logs to docker log collectorRUN ln -sf /dev/stdout /var/log/nginx/access.log \

&& ln -sf /dev/stderr /var/log/nginx/error.log

EXPOSE 80 443

CMD ["nginx", "-g", "daemon off;"]

Dockerfile

WHAT JUST HAPPENED?

Page 11: EMC World 2016 - code.09 Introduction to the Docker Platform

13© Copyright 2016 EMC Corporation. All rights reserved.

• Clean and portable runtime environment

• No missing dependencies during deployments

• Run each app in its own isolated container,

• Automate testing, integration, packaging

• Eliminate concerns about compatibility on different platforms

• A VM without the overhead of a VM

DEV - Build once, run anywhere

WHO CARES?

• Lifecycle is efficient, consistent, and repeatable

• Increase the quality of code produced by developers

• Eliminate inconsistencies between environments

• Support segregation of duties• Improves speed and reliability of

CI/CD systems• Eliminates overhead issues normally

associated with VMs

OPS - Configure once, run anything

Page 12: EMC World 2016 - code.09 Introduction to the Docker Platform

16© Copyright 2016 EMC Corporation. All rights reserved.

CONTAINERS VS VIRTUAL MACHINES

Page 13: EMC World 2016 - code.09 Introduction to the Docker Platform

18© Copyright 2016 EMC Corporation. All rights reserved.

Open Source Project

• 2000+ contributors• 40K+ GitHub stars• 200K+ Dockerized apps• 240 Meetups in 70 countries• 95K Meetup members• 2B+ Docker Image Downloads

Containers as a Service provider• Integrated platform for dev and IT• Commercial technical support

Docker project sponsor• Primary sponsor of Docker project• Supports project maintainers

The Docker Project Docker Inc

DOCKER IN 2016

Page 14: EMC World 2016 - code.09 Introduction to the Docker Platform

19© Copyright 2016 EMC Corporation. All rights reserved. 19© Copyright 2016 EMC Corporation. All rights reserved.

Dev Tools

Official Repositories

Operating Systems

Big Data

Service Discovery

Build / Continuous Integration

Configuration ManagementConsulting &Training

Management

Storage

Clustering & Scheduling

Networking

Infrastructure & Service Providers

Security

Monitoring & Logging

THE DOCKER ECOSYSTEM

Page 15: EMC World 2016 - code.09 Introduction to the Docker Platform

20© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER ENGINE + EMC

• Stateless -> Stateful transition• Multi-Platform Storage Management

integrated with Docker, Mesos, Marathon & Kubernetes

• OSS• https://github.com/emccode/rexray

Page 16: EMC World 2016 - code.09 Introduction to the Docker Platform

21© Copyright 2016 EMC Corporation. All rights reserved.

DEMO!!

Page 17: EMC World 2016 - code.09 Introduction to the Docker Platform

22© Copyright 2016 EMC Corporation. All rights reserved.

TO-DO

DOCKER

• Why change?• Brief History• What is it?• Who cares?• Containers vs VMs• Today’s Stats• Ecosystem

DOCKER PLATFORM

• Docker Engine• Docker Hub• Docker Compose• Docker Machine• Docker Swarm• Docker Toolbox• Docker Trusted Registry• Docker Cloud

Page 18: EMC World 2016 - code.09 Introduction to the Docker Platform

23© Copyright 2016 EMC Corporation. All rights reserved.

• Distributed applications consist of many small applications that work together.

• Instead of having to build, run and manage each individual container, Docker Compose allows you to define your multi-container application with all of its dependencies in a single file, then spin your application up in a single command.

• Your application’s structure and configuration are held in a single place, which makes spinning up applications simple and repeatable everywhere.

DOCKER COMPOSE

Page 19: EMC World 2016 - code.09 Introduction to the Docker Platform

24© Copyright 2016 EMC Corporation. All rights reserved.

DEMO!!!

Page 20: EMC World 2016 - code.09 Introduction to the Docker Platform

25© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER MACHINE• a tool to simplify the automatic

creation and configuration of Docker-enabled machines, whether they are VMs running locally in Virtualbox or on a cloud provider such as Amazon Web Services.

• Management of hosts like upgrading, stops, starts, & ssh

Page 21: EMC World 2016 - code.09 Introduction to the Docker Platform

26© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER MACHINE + RACKHD• https://github.com/emccode/docker-machine-rackhd

Page 22: EMC World 2016 - code.09 Introduction to the Docker Platform

27© Copyright 2016 EMC Corporation. All rights reserved.

DEMO!!!!!

Page 23: EMC World 2016 - code.09 Introduction to the Docker Platform

28© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER SWARM• Provides native clustering

capabilities to turn a group of Docker engines into a single, virtual Docker Engine.

• Scale out your application as if it were running on a single, huge computer

Page 24: EMC World 2016 - code.09 Introduction to the Docker Platform

29© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER SWARM + EMC

• Storage Scheduler for Container Schedulers• OSS• https://github.com/emccode/polly

Page 25: EMC World 2016 - code.09 Introduction to the Docker Platform

30© Copyright 2016 EMC Corporation. All rights reserved.

DEMO!!!!

Page 26: EMC World 2016 - code.09 Introduction to the Docker Platform

31© Copyright 2016 EMC Corporation. All rights reserved.

• Get up and running with one package

– Engine– Compose– Machine– Kitematic

DOCKER TOOLBOX

Page 27: EMC World 2016 - code.09 Introduction to the Docker Platform

32© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER FOR WINDOWS/MAC BETAhttps://beta.docker.com/

Page 28: EMC World 2016 - code.09 Introduction to the Docker Platform

33© Copyright 2016 EMC Corporation. All rights reserved.

• Store and manage your Docker images on-premise or in your virtual private cloud to support security or regulatory compliance requirements.

• Integrate to storage (EMC ECS, EMC Isilon) and authenticate to your Active Directory / LDAP services

DOCKER TRUSTED REGISTRY

Page 29: EMC World 2016 - code.09 Introduction to the Docker Platform

34© Copyright 2016 EMC Corporation. All rights reserved.

• Verify the publisher of Docker images. • Before a publisher pushes an image to

a remote registry, Docker Engine signs the image locally with the publisher’s private key. When you later pull this image, Docker Engine uses the publisher’s public key to verify that the image you are about to run is exactly what the publisher created, has not been tampered with and is up to date.

DOCKER CONTENT TRUST

Page 30: EMC World 2016 - code.09 Introduction to the Docker Platform

35© Copyright 2016 EMC Corporation. All rights reserved.

• A cloud service that allows development and IT operations teams to deploy and manage their Dockerized applications in production

• A graphical and dashboard driven user interface simplifies the administrative and management tasks of deploying, monitoring, scaling and managing Dockerized applications

DOCKER CLOUD

Page 31: EMC World 2016 - code.09 Introduction to the Docker Platform

36© Copyright 2016 EMC Corporation. All rights reserved.

COMPLETED

DOCKER

• Why change?• Brief History• What is it?• Who cares?• Containers vs VMs• Today’s Stats• Ecosystem

DOCKER PLATFORM

• Docker Engine• Docker Hub• Docker Compose• Docker Swarm• Docker Machine• Docker Toolbox• Docker Trusted Registry• Docker Cloud

Page 32: EMC World 2016 - code.09 Introduction to the Docker Platform

37© Copyright 2016 EMC Corporation. All rights reserved. 37© Copyright 2016 EMC Corporation. All rights reserved.

Source Code Management

CI / CD

Networking

Monitoring

Volumes

Service Discovery

Operating Systems

Content

Configuration Management

Infrastructure

Public Cloud Virtualization

Physical / Converged

Infrastructure

Logging

Storage

Toolbox

Management

Security

Orchestration

Container Runtime

Registry Service

DOCKER CAAS PLATFORM

Page 33: EMC World 2016 - code.09 Introduction to the Docker Platform

38© Copyright 2016 EMC Corporation. All rights reserved.

DOCKERIZED EMC INTEGRATIONS/APPS

emccode.com

Page 35: EMC World 2016 - code.09 Introduction to the Docker Platform

41© Copyright 2016 EMC Corporation. All rights reserved.

Page 36: EMC World 2016 - code.09 Introduction to the Docker Platform

42© Copyright 2016 EMC Corporation. All rights reserved.

@kendrickcoleman@ManoMarks@EMCCode

emccode.comcommunity.emccode.com

Come visit us at Booth #1044 or in the vLab

Questions?