Introduction to Docker
Evans Developer Relations Conference 2016
Mano Marks, Docker Developer Relations Director
@manomarks
+ManoMarks
Applications are changing
2
Loosely
Coupled
Services
Many Small
Servers
~2000
Toda
y
Monolithic
Big Servers
Slow
changing
Rapidly
updated
The challenge: new matrix from hell
3
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
Docker containers
4
Static
Website
Web
Front End
Background
Workers
User DB
Analytics
DB
Queue
API
Endpoint
Any App Anywhere
Composable Dynamic Portable
Solution: Docker containers
5
• 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
Container
Docker Basics
Docker Image
The basis of a Docker container
Docker Container
The 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 provider
Docker Registry
A registry for image storing and collaboration (on premise or cloud base)
Linux Containers UnikernelsVM per Container
Linux Kernel
App App
App App App
App
HypervisorHypervisor
Efficient resource sharing
Application compatibility
Linux
Strong hardware isolation
High resource overhead
Strong hardware isolation
Efficient. Specialised. Immutable
App App App
Linux Linux
Hypervisor
Why do Developers Care?
• Build once…(finally) run anywhere
• A clean, safe, hygienic and portable runtime environment for your app.
• Polyglot development: 88% of developers use more than one language (IDC)
• Run each app in its own isolated container, with all it’s dependencies.
• Automate testing, integration, packaging…anything you can script
• Reduce/eliminate concerns about compatibility on different platforms, either your own or
your customers.
• Cheap, zero-penalty containers to deploy services
• All you need is a text editor, git, and Docker
Why do Ops Care?
• Configure once…run anything
• Make the entire lifecycle more efficient, consistent, and repeatable
• Increase the quality of code produced by developers
• Eliminate inconsistencies between development, test, production, and customer environments
• Support segregation of duties
• Significantly improves the speed and reliability of continuous deployment and continuous
integration systems
• Because the containers are so lightweight, address significant performance, costs, deployment,
and portability issues normally associated with VMs
Demo Time
Docker for DevRel?
• Know where your developers are, they’re on Docker
• Build samples for Docker
• Build solutions in Docker
• Easy to distribute images
• Don’t worry about versions
• Build small
Why do DevRel Care?
More about Docker
14
Open Source Project
•2B+ Docker Image Downloads
• 2000+ contributors
• 40K+ GitHub stars
• 200K+ Dockerized apps
• 240 Meetups in 70 countries
• 95K Meetup members
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
Docker
The Docker Project Docker Inc
The Docker ecosystem
Dev Tools
Official Repositories
Operating Systems
Big Data
Service Discovery
Build / Continuous Integration
Configuration Management
Consulting &Training
Management
Storage
Clustering & Scheduling
Networking
Infrastructure & Service Providers
Storage
Security
Monitoring & Logging
15
More info:
https://docs.docker.
com
https://docker.com
Me:
@manomarks
(twitter and github)
+ManoMarks

Intro to Docker at the 2016 Evans Developer relations conference

  • 1.
    Introduction to Docker EvansDeveloper Relations Conference 2016 Mano Marks, Docker Developer Relations Director @manomarks +ManoMarks
  • 2.
    Applications are changing 2 Loosely Coupled Services ManySmall Servers ~2000 Toda y Monolithic Big Servers Slow changing Rapidly updated
  • 3.
    The challenge: newmatrix from hell 3 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
  • 4.
    Docker containers 4 Static Website Web Front End Background Workers UserDB Analytics DB Queue API Endpoint Any App Anywhere Composable Dynamic Portable
  • 5.
    Solution: Docker containers 5 •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 Container
  • 6.
    Docker Basics Docker Image Thebasis of a Docker container Docker Container The 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 provider Docker Registry A registry for image storing and collaboration (on premise or cloud base)
  • 7.
    Linux Containers UnikernelsVMper Container Linux Kernel App App App App App App HypervisorHypervisor Efficient resource sharing Application compatibility Linux Strong hardware isolation High resource overhead Strong hardware isolation Efficient. Specialised. Immutable App App App Linux Linux Hypervisor
  • 8.
    Why do DevelopersCare? • Build once…(finally) run anywhere • A clean, safe, hygienic and portable runtime environment for your app. • Polyglot development: 88% of developers use more than one language (IDC) • Run each app in its own isolated container, with all it’s dependencies. • Automate testing, integration, packaging…anything you can script • Reduce/eliminate concerns about compatibility on different platforms, either your own or your customers. • Cheap, zero-penalty containers to deploy services • All you need is a text editor, git, and Docker
  • 9.
    Why do OpsCare? • Configure once…run anything • Make the entire lifecycle more efficient, consistent, and repeatable • Increase the quality of code produced by developers • Eliminate inconsistencies between development, test, production, and customer environments • Support segregation of duties • Significantly improves the speed and reliability of continuous deployment and continuous integration systems • Because the containers are so lightweight, address significant performance, costs, deployment, and portability issues normally associated with VMs
  • 10.
  • 11.
  • 12.
    • Know whereyour developers are, they’re on Docker • Build samples for Docker • Build solutions in Docker • Easy to distribute images • Don’t worry about versions • Build small Why do DevRel Care?
  • 13.
  • 14.
    14 Open Source Project •2B+Docker Image Downloads • 2000+ contributors • 40K+ GitHub stars • 200K+ Dockerized apps • 240 Meetups in 70 countries • 95K Meetup members 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 Docker The Docker Project Docker Inc
  • 15.
    The Docker ecosystem DevTools Official Repositories Operating Systems Big Data Service Discovery Build / Continuous Integration Configuration Management Consulting &Training Management Storage Clustering & Scheduling Networking Infrastructure & Service Providers Storage Security Monitoring & Logging 15
  • 16.