SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Containerization using Docker
Vinod Doshi
-- Sr. Manager QA & DevOps, Synerzip Softech India Pvt Ltd.
-- Email : vinodkdoshi@gmail.com, vinod.doshi@synerzip.com
-- Twitter handle : https://twitter.com/vinodkdoshi
-- Linkedin profile : https://in.linkedin.com/in/vinoddoshi
Sumit Ramteke
-- Senior Full Stack Developer, Synerzip Softech India Pvt Ltd.
-- Email : sumitvramteke@gmail.com,sumit.ramteke@synerzip.com
-- Linkedin profile : https://www.linkedin.com/in/sumitramteke
Agenda
● VM’s , IAAS , PAAS and DevOps
● Containers vs Virtual Machines
● Container architecture and Micro Services
● Docker features and Docker ecosystem
● CI using Docker
● Docker security considerations
● Container Orchestration
Virtualization
IAAS and PAAS
CODE REVIEWS
APPLICATION SERVERS CODE COVERAGE
DEPLOYMENT
MONITORING BUILD TOOLS
CLOUD
SOURCE CODE
WEB SERVERS
CONTINUOUS
INTEGRATION
LOGGING
RDBMS
NOSQL
ARTIFACTORY
CONFIGURATION
MANAGEMENT
CACHING
VIRTUALIZATION
ISSUE MANAGEMENT
CONTAINERIZATION
Containers vs VM’s
Containers
● Run in user space
● Have an isolated user space
● OS architecture is shared
● Only parts created are bins/libs
● Lightweight compared to VM’s
Docker
● Open source project
● Linux namespaces & control groups
● Union File System
● Lightweight and fast
● Usability
● Easy to Modularize apps
● Easy to scale apps
● Dockerhub as central repository
Micro services
Why Micro Services
● Service oriented architecture
● Loosely coupled, Tightly aligned
● High Developer productivity
● Regressions easy to find, correct
● Releases have zero overhead
● Rapid iteration using real consumer metrics
● Very less overhead in doing a new release
● Continuous Delivery
Containerization Technologies
● CoreOS, Rocket
● Docker
● Redhat containers
● AWS PAAS
● GCE PAAS
● AWS Lambda
Docker setup
● Ubuntu
○ Installation using apt-get
○ 1.12 aws images on beta signup
● Windows
○ Docker Toolbox
○ Docker 1.12
● Mac
○ Docker Toolbox
○ Docker 1.12
Dockerhub
● Dockerhub
● Public repository
● Private repository
● Official images
● User submitted images
● Private docker infrastructure
Docker images
● What is a docker image
● Creating a container from an image
● Listing images
● Removing images
● Removing images
● Searching docker images
Docker containers
● Docker hello world
● Launching container as daemon
● Listing containers
● Logging into container
● Docker start, stop
● Docker pause, unpause
● Docker inspect
● Deleting container
Docker resource allocation
● -m, --memory=""
● --memory-swap=""
● --cpuset-cpus=""
● -c, --cpu-shares
Docker layers
● List of read-only layers
● Layers have file system differences
● New Container adds thin, writable layer
Building images
● Modifying containers
● Creating an image
● Registering an image
Docker file
● Structure of Docker file
● Example Docker file
● Building image using a Docker file
● Docker file instructions
○ From, Maintainer, Copy
○ Add, Env, User, Workdir
○ Volume, Expose, Run
○ Cmd, Entrypoint, Onbuild
Docker Networking
● Container ip address
● Port mapping
● Binding to specific ip address
● Auto-generating host port
Linking containers
● --link option
● Exporting variables
● Enabling networking
Sharing data
● Containers are temporal
● Data volumes
● Sharing host data
● Data only containers
● Data volumes from other containers
Docker compose
● Multi container application
● Installing Docker compose
● Structure of compose file
● Define logical application
● Docker-compose.yml file
● Docker-compose command
● Launching multi-container app
Debugging containerized applications
● exec
● ps
● top
● stats
● logs
● Inspect
CI and deployment using Jenkins
● Using Jenkins for CI
● Docker plugins
● ssh build and deployment
Securing Docker containers
● VM vs Docker containers
● Resource Isolation
● Cgroups
● Non root user
● A trusted repository of software
● Filesystems need to be read-only
● Copy on write
● Security-Enhanced Linux
Orchestration
● Running containers on a cluster
● High availability
● Load balancing and Auto scaling
● Mesos, Marathon (Apache project)
● Docker Swarm (native Docker v 1.12 )
● GCE Kubernetes PAAS (Google project)
● AWS ECS PAAS
● AWS containers on Beanstalk PAAS
Amazon EC2 Container Service (ECS)
Manage and Deploy Docker containers at Scale
ECS: Awesome Features
● Docker Compatibility
● Managed Clusters
● Task Definitions
● Programmatic Control
● Scheduling
● Container Deployments
● Local Development
● Monitoring
● Logging
● Repository Support
ECS: Example
Docker Swarm: A Native Cluster
App Architecture
Swarm Cluster Architecture
Final Result
Mesos, Marathon
● Apache project
● https://mesosphere.github.io/marathon/
● http://mesos.apache.org
● Container orchestration platform
Mesos Master, Mesos Slave, Zookeeper
Mesos, Marathon cluster Demo
● Setup on a VM
● Mesos Master dashboard
● Marathon dashboard
● Launching a hello world job
● HA, Auto scaling
Thank You
Vinod Doshi
● Email:vinodkdoshi@gmail.com
● Twitter:@vinodkdoshi
● Linkedin:https://in.linkedin.
com/in/vinoddoshi
Sumit Ramteke
● Email:sumitvramteke@gmail.com
● Linkedin:https://www.linkedin.
com/in/sumitramteke

Más contenido relacionado

La actualidad más candente

Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGAjeet Singh Raina
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker, Inc.
 
Docker and containers : Disrupting the virtual machine(VM)
Docker and containers : Disrupting the virtual machine(VM)Docker and containers : Disrupting the virtual machine(VM)
Docker and containers : Disrupting the virtual machine(VM)Rama Krishna B
 
Infinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container EnvironmentsInfinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container EnvironmentsDocker, Inc.
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with dockerLalatendu Mohanty
 
Docker Global Hack Day #3
Docker Global Hack Day #3 Docker Global Hack Day #3
Docker Global Hack Day #3 Docker, Inc.
 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scaleMaciej Lasyk
 
Introduction of Docker and Docker Compose
Introduction of Docker and Docker ComposeIntroduction of Docker and Docker Compose
Introduction of Docker and Docker ComposeDr. Ketan Parmar
 
How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker Jonathan Martin
 
Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Khelender Sasan
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to KubernetesImesh Gunaratne
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT CampusAjeet Singh Raina
 
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and more
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and moreAll Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and more
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and moreAll Things Open
 
Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015Mustafa AKIN
 

La actualidad más candente (20)

Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Docker on Windows
Docker on WindowsDocker on Windows
Docker on Windows
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
Docker and containers : Disrupting the virtual machine(VM)
Docker and containers : Disrupting the virtual machine(VM)Docker and containers : Disrupting the virtual machine(VM)
Docker and containers : Disrupting the virtual machine(VM)
 
Infinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container EnvironmentsInfinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container Environments
 
Intro to docker
Intro to dockerIntro to docker
Intro to docker
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
Containerization
ContainerizationContainerization
Containerization
 
Docker Global Hack Day #3
Docker Global Hack Day #3 Docker Global Hack Day #3
Docker Global Hack Day #3
 
Docker Presentation
Docker PresentationDocker Presentation
Docker Presentation
 
Docker basics
Docker basicsDocker basics
Docker basics
 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scale
 
Introduction of Docker and Docker Compose
Introduction of Docker and Docker ComposeIntroduction of Docker and Docker Compose
Introduction of Docker and Docker Compose
 
How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker
 
Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Docker in real life
Docker in real lifeDocker in real life
Docker in real life
 
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and more
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and moreAll Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and more
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and more
 
Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015
 

Destacado

Essence Of Containerizati on 230508
Essence Of Containerizati on 230508 Essence Of Containerizati on 230508
Essence Of Containerizati on 230508 jansowri
 
ShapeBlue South Africa Launch-Iaas business use cases
ShapeBlue South Africa Launch-Iaas business use cases ShapeBlue South Africa Launch-Iaas business use cases
ShapeBlue South Africa Launch-Iaas business use cases ShapeBlue
 
A Primer to Containerization & Microservices
A Primer to Containerization & MicroservicesA Primer to Containerization & Microservices
A Primer to Containerization & MicroservicesShiju Varghese
 
Hide your development environment and application in a container
Hide your development environment and application in a containerHide your development environment and application in a container
Hide your development environment and application in a containerJohan Janssen
 
Cloud Computing for Beginners
Cloud Computing for Beginners Cloud Computing for Beginners
Cloud Computing for Beginners Suman Singh
 
Docker containerization cookbook
Docker containerization cookbookDocker containerization cookbook
Docker containerization cookbookPascal Louis
 
OpenShift & SELinux with Dan Walsh @rhatdan
OpenShift & SELinux with Dan Walsh @rhatdanOpenShift & SELinux with Dan Walsh @rhatdan
OpenShift & SELinux with Dan Walsh @rhatdanOpenShift Origin
 
RightScale Webinar: 451 Research Webinar - Cloud Dos and Don'ts
RightScale Webinar: 451 Research Webinar - Cloud Dos and Don'tsRightScale Webinar: 451 Research Webinar - Cloud Dos and Don'ts
RightScale Webinar: 451 Research Webinar - Cloud Dos and Don'tsRightScale
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerizationBalint Pato
 
A Dive Into Containers and Docker
A Dive Into Containers and DockerA Dive Into Containers and Docker
A Dive Into Containers and DockerMatthew Farina
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsTomohide Kakeya
 
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...Lightbend
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Jérôme Petazzoni
 
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...Dmitry Lazarenko
 
Serverless - When to FaaS?
Serverless - When to FaaS?Serverless - When to FaaS?
Serverless - When to FaaS?Benny Bauer
 

Destacado (15)

Essence Of Containerizati on 230508
Essence Of Containerizati on 230508 Essence Of Containerizati on 230508
Essence Of Containerizati on 230508
 
ShapeBlue South Africa Launch-Iaas business use cases
ShapeBlue South Africa Launch-Iaas business use cases ShapeBlue South Africa Launch-Iaas business use cases
ShapeBlue South Africa Launch-Iaas business use cases
 
A Primer to Containerization & Microservices
A Primer to Containerization & MicroservicesA Primer to Containerization & Microservices
A Primer to Containerization & Microservices
 
Hide your development environment and application in a container
Hide your development environment and application in a containerHide your development environment and application in a container
Hide your development environment and application in a container
 
Cloud Computing for Beginners
Cloud Computing for Beginners Cloud Computing for Beginners
Cloud Computing for Beginners
 
Docker containerization cookbook
Docker containerization cookbookDocker containerization cookbook
Docker containerization cookbook
 
OpenShift & SELinux with Dan Walsh @rhatdan
OpenShift & SELinux with Dan Walsh @rhatdanOpenShift & SELinux with Dan Walsh @rhatdan
OpenShift & SELinux with Dan Walsh @rhatdan
 
RightScale Webinar: 451 Research Webinar - Cloud Dos and Don'ts
RightScale Webinar: 451 Research Webinar - Cloud Dos and Don'tsRightScale Webinar: 451 Research Webinar - Cloud Dos and Don'ts
RightScale Webinar: 451 Research Webinar - Cloud Dos and Don'ts
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerization
 
A Dive Into Containers and Docker
A Dive Into Containers and DockerA Dive Into Containers and Docker
A Dive Into Containers and Docker
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
 
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
 
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
 
Serverless - When to FaaS?
Serverless - When to FaaS?Serverless - When to FaaS?
Serverless - When to FaaS?
 

Similar a Containerization using Docker: An Introduction

Boosting Sitecore Development With Sitecore Docker
Boosting Sitecore Development With Sitecore DockerBoosting Sitecore Development With Sitecore Docker
Boosting Sitecore Development With Sitecore DockerPeter Nazarov
 
Getting started with docker (2017)
Getting started with docker (2017)Getting started with docker (2017)
Getting started with docker (2017)JEMLI Fathi
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalPatrick Chanezon
 
Docker primer and tips
Docker primer and tipsDocker primer and tips
Docker primer and tipsSamuel Chow
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web DevelopersBADR
 
Docker Up and Running for Web Developers
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web DevelopersAmr Fawzy
 
Webinar: From Development to Production with Docker and MongoDB
Webinar: From Development to Production with Docker and MongoDBWebinar: From Development to Production with Docker and MongoDB
Webinar: From Development to Production with Docker and MongoDBMongoDB
 
DCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and ArchitectureDCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and ArchitectureDocker, Inc.
 
Docker + Microservices in Production
Docker + Microservices in ProductionDocker + Microservices in Production
Docker + Microservices in ProductionPatrick Mizer
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataInfluxData
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power SystemsCesar Maciel
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with dockerVishwas N
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with DockerAndrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with DockerAndrey Hristov
 
Powercoders · Docker · Fall 2021.pptx
Powercoders · Docker · Fall 2021.pptxPowercoders · Docker · Fall 2021.pptx
Powercoders · Docker · Fall 2021.pptxIgnacioTamayo2
 
Introduction to Docker for NodeJs developers at Node DC 2/26/2014
Introduction to Docker for NodeJs developers at Node DC 2/26/2014Introduction to Docker for NodeJs developers at Node DC 2/26/2014
Introduction to Docker for NodeJs developers at Node DC 2/26/2014lenworthhenry
 

Similar a Containerization using Docker: An Introduction (20)

Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Boosting Sitecore Development With Sitecore Docker
Boosting Sitecore Development With Sitecore DockerBoosting Sitecore Development With Sitecore Docker
Boosting Sitecore Development With Sitecore Docker
 
Getting started with docker (2017)
Getting started with docker (2017)Getting started with docker (2017)
Getting started with docker (2017)
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - Technical
 
Docker primer and tips
Docker primer and tipsDocker primer and tips
Docker primer and tips
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
 
Docker Up and Running for Web Developers
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web Developers
 
Run automated tests in Docker
Run automated tests in DockerRun automated tests in Docker
Run automated tests in Docker
 
Webinar: From Development to Production with Docker and MongoDB
Webinar: From Development to Production with Docker and MongoDBWebinar: From Development to Production with Docker and MongoDB
Webinar: From Development to Production with Docker and MongoDB
 
DCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and ArchitectureDCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and Architecture
 
Docker + Microservices in Production
Docker + Microservices in ProductionDocker + Microservices in Production
Docker + Microservices in Production
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxData
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
 
Docker+java
Docker+javaDocker+java
Docker+java
 
Powercoders · Docker · Fall 2021.pptx
Powercoders · Docker · Fall 2021.pptxPowercoders · Docker · Fall 2021.pptx
Powercoders · Docker · Fall 2021.pptx
 
Introduction to Docker for NodeJs developers at Node DC 2/26/2014
Introduction to Docker for NodeJs developers at Node DC 2/26/2014Introduction to Docker for NodeJs developers at Node DC 2/26/2014
Introduction to Docker for NodeJs developers at Node DC 2/26/2014
 

Último

Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 

Último (20)

Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 

Containerization using Docker: An Introduction

  • 1. Containerization using Docker Vinod Doshi -- Sr. Manager QA & DevOps, Synerzip Softech India Pvt Ltd. -- Email : vinodkdoshi@gmail.com, vinod.doshi@synerzip.com -- Twitter handle : https://twitter.com/vinodkdoshi -- Linkedin profile : https://in.linkedin.com/in/vinoddoshi Sumit Ramteke -- Senior Full Stack Developer, Synerzip Softech India Pvt Ltd. -- Email : sumitvramteke@gmail.com,sumit.ramteke@synerzip.com -- Linkedin profile : https://www.linkedin.com/in/sumitramteke
  • 2. Agenda ● VM’s , IAAS , PAAS and DevOps ● Containers vs Virtual Machines ● Container architecture and Micro Services ● Docker features and Docker ecosystem ● CI using Docker ● Docker security considerations ● Container Orchestration
  • 5. CODE REVIEWS APPLICATION SERVERS CODE COVERAGE DEPLOYMENT MONITORING BUILD TOOLS CLOUD SOURCE CODE WEB SERVERS CONTINUOUS INTEGRATION LOGGING RDBMS NOSQL ARTIFACTORY CONFIGURATION MANAGEMENT CACHING VIRTUALIZATION ISSUE MANAGEMENT CONTAINERIZATION
  • 7. Containers ● Run in user space ● Have an isolated user space ● OS architecture is shared ● Only parts created are bins/libs ● Lightweight compared to VM’s
  • 8. Docker ● Open source project ● Linux namespaces & control groups ● Union File System ● Lightweight and fast ● Usability ● Easy to Modularize apps ● Easy to scale apps ● Dockerhub as central repository
  • 10. Why Micro Services ● Service oriented architecture ● Loosely coupled, Tightly aligned ● High Developer productivity ● Regressions easy to find, correct ● Releases have zero overhead ● Rapid iteration using real consumer metrics ● Very less overhead in doing a new release ● Continuous Delivery
  • 11. Containerization Technologies ● CoreOS, Rocket ● Docker ● Redhat containers ● AWS PAAS ● GCE PAAS ● AWS Lambda
  • 12. Docker setup ● Ubuntu ○ Installation using apt-get ○ 1.12 aws images on beta signup ● Windows ○ Docker Toolbox ○ Docker 1.12 ● Mac ○ Docker Toolbox ○ Docker 1.12
  • 13. Dockerhub ● Dockerhub ● Public repository ● Private repository ● Official images ● User submitted images ● Private docker infrastructure
  • 14. Docker images ● What is a docker image ● Creating a container from an image ● Listing images ● Removing images ● Removing images ● Searching docker images
  • 15. Docker containers ● Docker hello world ● Launching container as daemon ● Listing containers ● Logging into container ● Docker start, stop ● Docker pause, unpause ● Docker inspect ● Deleting container
  • 16. Docker resource allocation ● -m, --memory="" ● --memory-swap="" ● --cpuset-cpus="" ● -c, --cpu-shares
  • 17. Docker layers ● List of read-only layers ● Layers have file system differences ● New Container adds thin, writable layer
  • 18. Building images ● Modifying containers ● Creating an image ● Registering an image
  • 19. Docker file ● Structure of Docker file ● Example Docker file ● Building image using a Docker file ● Docker file instructions ○ From, Maintainer, Copy ○ Add, Env, User, Workdir ○ Volume, Expose, Run ○ Cmd, Entrypoint, Onbuild
  • 20. Docker Networking ● Container ip address ● Port mapping ● Binding to specific ip address ● Auto-generating host port
  • 21. Linking containers ● --link option ● Exporting variables ● Enabling networking
  • 22. Sharing data ● Containers are temporal ● Data volumes ● Sharing host data ● Data only containers ● Data volumes from other containers
  • 23. Docker compose ● Multi container application ● Installing Docker compose ● Structure of compose file ● Define logical application ● Docker-compose.yml file ● Docker-compose command ● Launching multi-container app
  • 24. Debugging containerized applications ● exec ● ps ● top ● stats ● logs ● Inspect
  • 25. CI and deployment using Jenkins ● Using Jenkins for CI ● Docker plugins ● ssh build and deployment
  • 26. Securing Docker containers ● VM vs Docker containers ● Resource Isolation ● Cgroups ● Non root user ● A trusted repository of software ● Filesystems need to be read-only ● Copy on write ● Security-Enhanced Linux
  • 27. Orchestration ● Running containers on a cluster ● High availability ● Load balancing and Auto scaling ● Mesos, Marathon (Apache project) ● Docker Swarm (native Docker v 1.12 ) ● GCE Kubernetes PAAS (Google project) ● AWS ECS PAAS ● AWS containers on Beanstalk PAAS
  • 28. Amazon EC2 Container Service (ECS) Manage and Deploy Docker containers at Scale
  • 29. ECS: Awesome Features ● Docker Compatibility ● Managed Clusters ● Task Definitions ● Programmatic Control ● Scheduling ● Container Deployments ● Local Development ● Monitoring ● Logging ● Repository Support
  • 31. Docker Swarm: A Native Cluster
  • 35. Mesos, Marathon ● Apache project ● https://mesosphere.github.io/marathon/ ● http://mesos.apache.org ● Container orchestration platform
  • 36. Mesos Master, Mesos Slave, Zookeeper
  • 37. Mesos, Marathon cluster Demo ● Setup on a VM ● Mesos Master dashboard ● Marathon dashboard ● Launching a hello world job ● HA, Auto scaling
  • 38. Thank You Vinod Doshi ● Email:vinodkdoshi@gmail.com ● Twitter:@vinodkdoshi ● Linkedin:https://in.linkedin. com/in/vinoddoshi Sumit Ramteke ● Email:sumitvramteke@gmail.com ● Linkedin:https://www.linkedin. com/in/sumitramteke