SlideShare a Scribd company logo
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.
• There are multiple container runtimes
• runC by open containers (contributed by docker)
• rkt by CoreOs
• LXC
• OpenVZ
• …
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) )
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.
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 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.
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://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
Q&A
THANK YOU

More Related Content

PDF
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
PDF
PPTX
Kubernetes for Beginners: An Introductory Guide
PPTX
Docker Swarm for Beginner
PPTX
Terraform modules restructured
PPTX
Azure App Service Deep Dive
PDF
Introduction to IAC and Terraform
PDF
Rancher 2.0 Technical Deep Dive
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
Kubernetes for Beginners: An Introductory Guide
Docker Swarm for Beginner
Terraform modules restructured
Azure App Service Deep Dive
Introduction to IAC and Terraform
Rancher 2.0 Technical Deep Dive

What's hot (20)

PDF
Terraform -- Infrastructure as Code
PPTX
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
PDF
22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...
PPTX
Introduction to Kubernetes
PPTX
Intro to Knative
PDF
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
ODP
ansible why ?
PPTX
Introducing Dapr.io - the open source personal assistant to microservices and...
PDF
Introduce to Terraform
PDF
Microservice Architecture Patterns, by Richard Langlois P. Eng.
PDF
Microservice architecture
PDF
Scaling up task processing with Celery
ODP
Introduction to Ansible
PDF
How to test infrastructure code: automated testing for Terraform, Kubernetes,...
PPTX
Domain Driven Design(DDD) Presentation
PDF
Terraform in deployment pipeline
PDF
Grafana introduction
PPTX
Introduction to Gitlab | Gitlab 101 | Training Session
PDF
Ansible Tutorial.pdf
PDF
Introduction to docker
Terraform -- Infrastructure as Code
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...
Introduction to Kubernetes
Intro to Knative
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
ansible why ?
Introducing Dapr.io - the open source personal assistant to microservices and...
Introduce to Terraform
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice architecture
Scaling up task processing with Celery
Introduction to Ansible
How to test infrastructure code: automated testing for Terraform, Kubernetes,...
Domain Driven Design(DDD) Presentation
Terraform in deployment pipeline
Grafana introduction
Introduction to Gitlab | Gitlab 101 | Training Session
Ansible Tutorial.pdf
Introduction to docker
Ad

Similar to Docker Introduction (20)

PDF
Docker slides
PDF
PDF
Docker fundamentals
PPTX
Dockerize the World
PDF
Up and running with docker
PPTX
Getting Started with Docker
PPTX
Virtualization, Containers, Docker and scalable container management services
PPTX
Docker and Microservice
PDF
Get you Java application ready for Kubernetes !
PPTX
Docker and kubernetes
PPTX
Docker presentation
PPTX
Docker Workshop
PPTX
Detailed Introduction To Docker
PDF
DEVOPS UNIT 4 docker and services commands
PDF
Dockerizing OpenStack for High Availability
PPTX
Everything you need to know about Docker
PPTX
Docker lxc win
PDF
Docker Introduction
PDF
Docker Started
Docker slides
Docker fundamentals
Dockerize the World
Up and running with docker
Getting Started with Docker
Virtualization, Containers, Docker and scalable container management services
Docker and Microservice
Get you Java application ready for Kubernetes !
Docker and kubernetes
Docker presentation
Docker Workshop
Detailed Introduction To Docker
DEVOPS UNIT 4 docker and services commands
Dockerizing OpenStack for High Availability
Everything you need to know about Docker
Docker lxc win
Docker Introduction
Docker Started
Ad

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Getting Started with Data Integration: FME Form 101
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Big Data Technologies - Introduction.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Encapsulation_ Review paper, used for researhc scholars
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
MYSQL Presentation for SQL database connectivity
Assigned Numbers - 2025 - Bluetooth® Document
Advanced methodologies resolving dimensionality complications for autism neur...
Getting Started with Data Integration: FME Form 101
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Empathic Computing: Creating Shared Understanding
Programs and apps: productivity, graphics, security and other tools
Big Data Technologies - Introduction.pptx
A comparative analysis of optical character recognition models for extracting...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Network Security Unit 5.pdf for BCA BBA.
The Rise and Fall of 3GPP – Time for a Sabbatical?
Per capita expenditure prediction using model stacking based on satellite ima...
“AI and Expert System Decision Support & Business Intelligence Systems”

Docker Introduction

  • 1. DOCKER WHAT IT IS AND HOW TO USE IT?
  • 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. 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. 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.
  • 7. — Wasim Akram HELLO WORLD, TO A CLUSTER ” “ DEMO https://goo.gl/99Vd1i
  • 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. MULTIPLE CLUSTER SOLUTIONS CONTAINER CLUSTERS • Swarm by docker • Fleet by CoreOs • Kubernetes by Google • Mesos by Apache
  • 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