Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
DOCKER
WHAT IT IS AND HOW TO USE IT?
email: mailwasim@gmail.com
twitter: @_wasim
FULL-STACK RUBY ON RAILS
Wasim Akram
IT IS A DEPLOYMENT PLATFORM BASED ON CONTAINERS
WHAT IS DOCKER
• Docker used to use libcontainer as its container runtime....
THE WORLD OF VIRTUAL MACHINES
• Servers
• Setup
• Manually install & configure dependencies
• Script ( Shell, Capistrano -...
SNAPSHOT VM DEPLOYMENT
• Rather than buying a new server setting it up and deploying your
application.
• Your build progra...
Docker ContainersVM’s
— Wasim Akram
HELLO WORLD, TO A
CLUSTER
”
“
DEMO
https://goo.gl/99Vd1i
DOCKER INTERNALS
MAGIC OF DOCKER RUN
• Pulls the <ubuntu> image: Docker checks for the presence of the ubuntu image and, if it
doesn’t exis...
MULTIPLE CLUSTER SOLUTIONS
CONTAINER CLUSTERS
• Swarm by docker
• Fleet by CoreOs
• Kubernetes by Google
• Mesos by Apache
Core OS Example
Kubernetes Cluster
HELPFUL LINKS
• https://hub.docker.com
• https://quay.io
• https://docs.docker.com/engine/understanding-docker/
• https://...
Q&A
THANK YOU
Upcoming SlideShare
Loading in …5
×

Docker Introduction

792 views

Published on

Docker Introduction

Published in: Technology
  • Be the first to comment

Docker Introduction

  1. 1. DOCKER WHAT IT IS AND HOW TO USE IT?
  2. 2. email: mailwasim@gmail.com twitter: @_wasim FULL-STACK RUBY ON RAILS Wasim Akram
  3. 3. IT IS A DEPLOYMENT PLATFORM BASED ON CONTAINERS WHAT IS DOCKER • Docker used to use libcontainer as its container runtime. • There are multiple container runtimes • runC by open containers (contributed by docker) • rkt by CoreOs • LXC • OpenVZ • …
  4. 4. THE WORLD OF VIRTUAL MACHINES • Servers • Setup • Manually install & configure dependencies • Script ( Shell, Capistrano -> Capistrano Recipes ) • Declarative ( Chef, Pupptet ) • Deployment • Manually (FTP, SCP) and the start stop services • Script ( Shell, Capistrano ) • Automated ( Jenkins ) continuous integration is a must. • Platform as a service ( Heroku, App Engine, parse (defunct) )
  5. 5. SNAPSHOT VM DEPLOYMENT • Rather than buying a new server setting it up and deploying your application. • Your build program creates a Virtual Machine (Image/Snapshot) and then asks another host to run it.
  6. 6. Docker ContainersVM’s
  7. 7. — Wasim Akram HELLO WORLD, TO A CLUSTER ” “ DEMO https://goo.gl/99Vd1i
  8. 8. DOCKER INTERNALS
  9. 9. MAGIC OF DOCKER RUN • Pulls the <ubuntu> image: Docker checks for the presence of the ubuntu image and, if it doesn’t exist locally on the host, then Docker downloads it from Docker Hub. If the image already exists, then Docker uses it for the new container. • Creates a new container: Once Docker has the image, it uses it to create a container. • Allocates a filesystem and mounts a read-write layer: The container is created in the file system and a read-write layer is added to the image. • Allocates a network / bridge interface: Creates a network interface that allows the Docker container to talk to the local host. • Sets up an IP address: Finds and attaches an available IP address from a pool. • Executes a process that you specify: Runs your application, and; • Captures and provides application output: Connects and logs standard input, outputs and errors for you to see how your application is running.
  10. 10. MULTIPLE CLUSTER SOLUTIONS CONTAINER CLUSTERS • Swarm by docker • Fleet by CoreOs • Kubernetes by Google • Mesos by Apache
  11. 11. Core OS Example
  12. 12. Kubernetes Cluster
  13. 13. HELPFUL LINKS • https://hub.docker.com • https://quay.io • https://docs.docker.com/engine/understanding-docker/ • https://www.hashicorp.com/ has some really good tools which help with clusteringDeployed Apps During the talk • https://en.wikipedia.org/wiki/CoreOS • https://gist.github.com/wasimakram/0401b0a6a9013bd1df6c
  14. 14. Q&A THANK YOU

×