SlideShare una empresa de Scribd logo
1 de 19
In brief
 Does Docker replace VM?
 What does it do?
 Is Docker useful for
developers or only for
system admins?
 What problems does it
solves?
 A virtual machine (VM) is an operating system or
application environment that is installed on software,
which imitates dedicated hardware.
 The end user has the same experience on a virtual
machine as they would have on dedicated hardware.
 Specialized software, called a hypervisor or Virtual
Machine Monitor, emulates the PC client or
server's CPU, memory, hard disk, network and other
hardware resources completely, enabling virtual
machines to share the resources.
 Virtualization limits costs by reducing the need for
physical hardware systems.
 Docker is a tool designed to make it easier to create,
deploy, and run applications by using containers.
 Docker containers wrap a piece of software in a
complete filesystem that contains everything needed
to run: code, runtime, system tools, system libraries –
anything that can be installed on a server.
 Containers running on a single machine share the
same operating system kernel.
 It gives a significant performance boost and reduces
the size of the application.
 Docker gives you the ability to snapshot the OS into
a shared image, and makes it easy to deploy on other
docker hosts. Locally, dev, qa, prod, etc.: all the same
image.
Virtual Machines Docker
Each VM has its own OS Shares the kernel with other
containers
Virtual machine images are
significantly large
Containers have much smaller
footprint comparatively.
A virtual machine could take up
several minutes to create and
launch.
A container can be created and
launched just in a few seconds
Benefits: security and isolation. Benefits: easier and more
lightweight to deploy and faster to
start up
In IaaS use cases, machine
virtualization is an ideal fit.
Containers are best suited for
packaging/shipping portable and
modular software
 Clearly—for DevOps and CI/CD initiatives—application portability and
consistency are crucial needs that Docker fulfills quite nicely.
 Simply put, containers provide OS-level process isolation whereas virtual
machines offer isolation at the hardware abstraction layer.
 Again, the two technologies can be used in conjunction with each other for added
benefits—for example, Docker containers can be created inside VMs to make a
solution ultra-portable.
 For now, Docker doesn’t replace VM.
 Use Docker as version control system for your entire app's operating system
 Use Docker when you want to distribute/collaborate on your app's operating
system with a team
 Use Docker to run your code on your laptop in the same environment as you have
on your server (try the building tool)
 Use Docker whenever your app needs to go through multiple phases of
development (dev/test/qa/prod)
 Use Docker with your Chef Cookbooks and Puppet Manifests
 The Amazon AMI Marketplace is the closest thing to the Docker Index that you
will find. With AMIs, you can only run them on Amazon. With Docker, you can run
the images on any Linux server that runs Docker.
 The Warden project is a LXC manager written for Cloud Foundry without any of
the social features of Docker like sharing images with other people on the Docker
Index
 The collaboration features (docker push and docker pull) are one of the most
disruptive parts of Docker.
 With Docker pull/push the developers and ops guys, have first time been able to
easily collaborate quickly on building infrastructure together.
 The developers can focus on building great applications and the ops guys can focus
on building perfect service containers.
 The app guys can share app containers with ops guys and the ops guys can share
MySQL and PosgreSQL and Redis servers with app guys.
It works on my
machine but
not on yours
I have been
helping the [new
hire] setup her
environment all
day
I can’t try it
because IT
hasn’t updated
dev-
environment
I have to work
directly on
production
environment to
fix this issue.
Create a local
Docker
container
Distribute it to
private or
public
collaborators
Enhance
collaboratively
Create a
production
Docker image
Pull it in local
development
environment.
Work on “just
like prod”
environment
Keep multiple
Docker
images
Switch between
Docker images
as you switch
projects
Be more
productive
Release new
Docker image
per product
release
Keep the
system
inconsistencies
in Limit
Be more
consistent
 Container - a runtime instance of a Docker image.
 Image - an ordered collection of root filesystem changes and execution parameters
for use within a running container.
 Layer - a “slice” of the container filesystem; one layer is created by each Dockerfile
instruction.
 Dockerfile - a text script that contains the commands you execute to build a
Docker image.
 Registry - a repository of images. It can be public or private. This is a web service.
 Docker can build images automatically by reading the instructions from a
Dockerfile.
 A Dockerfile is a text document that contains all the commands a user could call
on the command line to assemble an image.
 Using docker build users can create an automated build that executes several
command-line instructions in succession.
FROM ubuntu
MAINTAINER MyName
RUN apt-get update
RUN apt-get install -y nginx
COPY index.html
/usr/share/nginx/html/
ENTRYPOINT [“/usr/sbin/nginx”,”-
g”,”daemon off;”]
EXPOSE 80
Select the base image
Set the author
Add new layer on the image
specify the default app
that you want to run
Build An Image
$ docker build -t gvacca/nginx .
Store image in a registry
(public, e.g. Dockerhub, or
private)
$ docker push gvacca/nginx
Pull image on the target host
$ docker pull gvacca/nginx
Run container on the target
host
$ docker run -it gvacca/nginx
 Docker Machine: Provides a CLI to quickly provision a Docker Host. Deploys
locally or on a Cloud Provider AWS, Azure, GCE, DO, Rackspace, VMWare, etc…
 Docker Registry: Store and distribute your docker container images. Docker Hub
makes it easy: hub.docker.com.
 Docker Swarm: Exposes several Docker Engines as a single virtual Engine. Serves
the standard Docker API. Swarm is production ready Docker CLI.
 Docker Hub is a cloud hosted service from Docker that provides registry
capabilities for public and private content.
 In Docker Hub, you usually put Docker Images that can be used/searched by other
Docker users.
 Docker Hub lets developers store and distribute their images with ease. You can
search some ready to go building blocks for your infrastructure.
 Quickly create an organization, add users or create groups of users to collaborate
with your repositories.
 Browse and search any public Docker image repositories for popular content.
 Share your images with the community or host in private repositories for secure
collaboration with your team
Thank You!
mailto: ritukamthan@gmail.com

Más contenido relacionado

La actualidad más candente

Rebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday partyRebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday partyYan Vugenfirer
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
 
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Edureka!
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioJérôme Petazzoni
 
Microservices and docker
Microservices and dockerMicroservices and docker
Microservices and dockerAlex Ivy
 
Discussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesDiscussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesSteven Grzbielok
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platformnirajrules
 
Docker Basic Presentation
Docker Basic PresentationDocker Basic Presentation
Docker Basic PresentationAman Chhabra
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerAjeet Singh Raina
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Edureka!
 
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...Edureka!
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDocker, Inc.
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzurePatrick Chanezon
 

La actualidad más candente (20)

Rebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday partyRebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday party
 
Overview of Docker
Overview of DockerOverview of Docker
Overview of Docker
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific Trio
 
Microservices and docker
Microservices and dockerMicroservices and docker
Microservices and docker
 
Discussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesDiscussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machines
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platform
 
Docker Basic Presentation
Docker Basic PresentationDocker Basic Presentation
Docker Basic Presentation
 
Docker Container Introduction
Docker Container IntroductionDocker Container Introduction
Docker Container Introduction
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
 
Dockerizing mule soft esb
Dockerizing mule soft esbDockerizing mule soft esb
Dockerizing mule soft esb
 
Docker how to
Docker how toDocker how to
Docker how to
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
 
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm Architecture
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
 

Similar a Docker In Brief

Similar a Docker In Brief (20)

Docker intro
Docker introDocker intro
Docker intro
 
Docker
DockerDocker
Docker
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Docker
DockerDocker
Docker
 
Demystifying Docker101
Demystifying Docker101Demystifying Docker101
Demystifying Docker101
 
Demystifying Docker
Demystifying DockerDemystifying Docker
Demystifying Docker
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
 
Axigen on docker
Axigen on dockerAxigen on docker
Axigen on docker
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container world
 
Docker slides
Docker slidesDocker slides
Docker slides
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
Introduction to Dockers.pptx
Introduction to Dockers.pptxIntroduction to Dockers.pptx
Introduction to Dockers.pptx
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Docker
DockerDocker
Docker
 
Docker - Frank Maounis
Docker - Frank MaounisDocker - Frank Maounis
Docker - Frank Maounis
 
Docker - A Quick Introduction Guide
Docker - A Quick Introduction GuideDocker - A Quick Introduction Guide
Docker - A Quick Introduction Guide
 
containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )
 

Último

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Último (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Docker In Brief

  • 2.  Does Docker replace VM?  What does it do?  Is Docker useful for developers or only for system admins?  What problems does it solves?
  • 3.  A virtual machine (VM) is an operating system or application environment that is installed on software, which imitates dedicated hardware.  The end user has the same experience on a virtual machine as they would have on dedicated hardware.  Specialized software, called a hypervisor or Virtual Machine Monitor, emulates the PC client or server's CPU, memory, hard disk, network and other hardware resources completely, enabling virtual machines to share the resources.  Virtualization limits costs by reducing the need for physical hardware systems.
  • 4.  Docker is a tool designed to make it easier to create, deploy, and run applications by using containers.  Docker containers wrap a piece of software in a complete filesystem that contains everything needed to run: code, runtime, system tools, system libraries – anything that can be installed on a server.  Containers running on a single machine share the same operating system kernel.  It gives a significant performance boost and reduces the size of the application.  Docker gives you the ability to snapshot the OS into a shared image, and makes it easy to deploy on other docker hosts. Locally, dev, qa, prod, etc.: all the same image.
  • 5. Virtual Machines Docker Each VM has its own OS Shares the kernel with other containers Virtual machine images are significantly large Containers have much smaller footprint comparatively. A virtual machine could take up several minutes to create and launch. A container can be created and launched just in a few seconds Benefits: security and isolation. Benefits: easier and more lightweight to deploy and faster to start up In IaaS use cases, machine virtualization is an ideal fit. Containers are best suited for packaging/shipping portable and modular software
  • 6.  Clearly—for DevOps and CI/CD initiatives—application portability and consistency are crucial needs that Docker fulfills quite nicely.  Simply put, containers provide OS-level process isolation whereas virtual machines offer isolation at the hardware abstraction layer.  Again, the two technologies can be used in conjunction with each other for added benefits—for example, Docker containers can be created inside VMs to make a solution ultra-portable.  For now, Docker doesn’t replace VM.
  • 7.  Use Docker as version control system for your entire app's operating system  Use Docker when you want to distribute/collaborate on your app's operating system with a team  Use Docker to run your code on your laptop in the same environment as you have on your server (try the building tool)  Use Docker whenever your app needs to go through multiple phases of development (dev/test/qa/prod)  Use Docker with your Chef Cookbooks and Puppet Manifests
  • 8.  The Amazon AMI Marketplace is the closest thing to the Docker Index that you will find. With AMIs, you can only run them on Amazon. With Docker, you can run the images on any Linux server that runs Docker.  The Warden project is a LXC manager written for Cloud Foundry without any of the social features of Docker like sharing images with other people on the Docker Index
  • 9.  The collaboration features (docker push and docker pull) are one of the most disruptive parts of Docker.  With Docker pull/push the developers and ops guys, have first time been able to easily collaborate quickly on building infrastructure together.  The developers can focus on building great applications and the ops guys can focus on building perfect service containers.  The app guys can share app containers with ops guys and the ops guys can share MySQL and PosgreSQL and Redis servers with app guys.
  • 10. It works on my machine but not on yours I have been helping the [new hire] setup her environment all day I can’t try it because IT hasn’t updated dev- environment I have to work directly on production environment to fix this issue.
  • 11. Create a local Docker container Distribute it to private or public collaborators Enhance collaboratively Create a production Docker image Pull it in local development environment. Work on “just like prod” environment Keep multiple Docker images Switch between Docker images as you switch projects Be more productive Release new Docker image per product release Keep the system inconsistencies in Limit Be more consistent
  • 12.  Container - a runtime instance of a Docker image.  Image - an ordered collection of root filesystem changes and execution parameters for use within a running container.  Layer - a “slice” of the container filesystem; one layer is created by each Dockerfile instruction.  Dockerfile - a text script that contains the commands you execute to build a Docker image.  Registry - a repository of images. It can be public or private. This is a web service.
  • 13.
  • 14.  Docker can build images automatically by reading the instructions from a Dockerfile.  A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image.  Using docker build users can create an automated build that executes several command-line instructions in succession.
  • 15. FROM ubuntu MAINTAINER MyName RUN apt-get update RUN apt-get install -y nginx COPY index.html /usr/share/nginx/html/ ENTRYPOINT [“/usr/sbin/nginx”,”- g”,”daemon off;”] EXPOSE 80 Select the base image Set the author Add new layer on the image specify the default app that you want to run
  • 16. Build An Image $ docker build -t gvacca/nginx . Store image in a registry (public, e.g. Dockerhub, or private) $ docker push gvacca/nginx Pull image on the target host $ docker pull gvacca/nginx Run container on the target host $ docker run -it gvacca/nginx
  • 17.  Docker Machine: Provides a CLI to quickly provision a Docker Host. Deploys locally or on a Cloud Provider AWS, Azure, GCE, DO, Rackspace, VMWare, etc…  Docker Registry: Store and distribute your docker container images. Docker Hub makes it easy: hub.docker.com.  Docker Swarm: Exposes several Docker Engines as a single virtual Engine. Serves the standard Docker API. Swarm is production ready Docker CLI.
  • 18.  Docker Hub is a cloud hosted service from Docker that provides registry capabilities for public and private content.  In Docker Hub, you usually put Docker Images that can be used/searched by other Docker users.  Docker Hub lets developers store and distribute their images with ease. You can search some ready to go building blocks for your infrastructure.  Quickly create an organization, add users or create groups of users to collaborate with your repositories.  Browse and search any public Docker image repositories for popular content.  Share your images with the community or host in private repositories for secure collaboration with your team