Upload
code-by-dell-emc
View
340
Download
0
Embed Size (px)
Citation preview
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
2© Copyright 2016 EMC Corporation. All rights reserved.
DOCKER PLATFORM
101Kenny ColemanDeveloper Advocate@kendrickcoleman
Director, Developer Relations@ManoMarks
Mano Marks
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
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
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
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
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
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
11© Copyright 2016 EMC Corporation. All rights reserved.
DEMO!
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?
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
16© Copyright 2016 EMC Corporation. All rights reserved.
CONTAINERS VS VIRTUAL MACHINES
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
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
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
21© Copyright 2016 EMC Corporation. All rights reserved.
DEMO!!
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
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
24© Copyright 2016 EMC Corporation. All rights reserved.
DEMO!!!
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
26© Copyright 2016 EMC Corporation. All rights reserved.
DOCKER MACHINE + RACKHD• https://github.com/emccode/docker-machine-rackhd
27© Copyright 2016 EMC Corporation. All rights reserved.
DEMO!!!!!
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
29© Copyright 2016 EMC Corporation. All rights reserved.
DOCKER SWARM + EMC
• Storage Scheduler for Container Schedulers• OSS• https://github.com/emccode/polly
30© Copyright 2016 EMC Corporation. All rights reserved.
DEMO!!!!
31© Copyright 2016 EMC Corporation. All rights reserved.
• Get up and running with one package
– Engine– Compose– Machine– Kitematic
DOCKER TOOLBOX
32© Copyright 2016 EMC Corporation. All rights reserved.
DOCKER FOR WINDOWS/MAC BETAhttps://beta.docker.com/
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
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
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
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
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
38© Copyright 2016 EMC Corporation. All rights reserved.
DOCKERIZED EMC INTEGRATIONS/APPS
emccode.com
39© Copyright 2016 EMC Corporation. All rights reserved.
• Docker Training– github.com/emccode/training/tree/master/docker-workshops
• Vagrant w/ REX-Ray– github.com/emccode/vagrant/tree/master/rexray– github.com/emccode/vagrant/tree/master/playa-mesos
• Join EMC {code} Community– community.emccode.com/
LEARN MORE
41© Copyright 2016 EMC Corporation. All rights reserved.
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?