SlideShare a Scribd company logo
1 of 28
Download to read offline
containers and
virtualization tools
(Docker)
Forloop/Abuja
Imo Inyang
Full Stack Developer @
Reimnet
@imo_inyang on twitter
imo@reimnet.com
virtualization refers to the act of creating
a virtual (rather than actual) version of
something, including virtual computer
hardware platforms, operating systems,
storage devices, and computer network
resources.
What is Virtualization?
VM – Virtual Machines
–-Hypervisor and Vagrant
Containers
–-Docker introduction
---Basic Setup and usage
A VM is essentially an emulation of a
real computer that executes programs
like a real computer. VMs run on top of
a physical machine using a “hypervisor”.
A hypervisor, in turn, runs on either a
host machine or on “bare-metal”.
Virtual Machines
Virtual Machines
A hypervisor is a software, firmware, or
hardware that VMs run on top of. The
hypervisors themselves run on physical
computers, referred to as the “host
machine”. The host machine provides the
VMs with resources, including RAM and
CPU. These resources are divided between
VMs and can be distributed as you see fit.
hypervisor
Type 1 hypervisor (also called a bare metal
hypervisor) is installed directly on physical
host server hardware just like an operating
system. Type 1 hypervisors run on dedicated
hardware. They require a management
console and are used in data centers.
Examples
Oracle OVM for SPARC, ESXi, Hyper-V and
KVM.
Type 1 hypervisor
hosted hypervisor, is a virtual machine
manager that is installed as a software
application on an existing operating system
(OS).
Examples
VMware Fusion, Oracle Virtual Box, Oracle
VM for x86, Solaris Zones, Parallels and
VMware Workstation
Type 2 hypervisor
Unlike a VM which provides
hardware virtualization, a container
provides operating-system-level
virtualization by abstracting the
“user space”. You’ll see what I mean
as we unpack the term container.
Containers
Containers
Containers share the host system’s kernel
with other containers.
What is the Difference
Containers and VMs?
Docker is an open-source project
based on Linux containers. It uses
Linux Kernel features like
namespaces and control groups to
create containers on top of an
operating system.
Docker
Google has been using their own
container technology for years.
Others Linux container technologies
include Solaris Zones, BSD jails,
and LXC, which have been around
for many years.
So why Docker?
Before Docker
1. Ease of use: Docker has made it much
easier for anyone—developers, systems admins,   
architects and others—to take advantage of   
containers in order to quickly build and test portable
applications.
The mantra is: “build once, run anywhere.”
Why Docker?
2. Speed: Docker containers are very lightweight and
fast. Since containers are just sandboxed
environments running on the kernel, they take up
fewer resources. You can create and run a Docker
container in seconds, compared to VMs which might
take longer because they have to boot up a full
virtual operating system every time.
Why Docker?
3. Docker Repository: Docker users also
benefit from the increasingly rich ecosystem
of Docker Hub, which you can think of as an
“Github for Docker images.”
Docker Hub has tens of thousands of public
images created by the community that are
readily available for use. It’s incredibly easy to
search for images that meet your needs, ready
to pull down and use with little-to-no
modification.
Why Docker?
4. Modularity and Scalability: Docker
makes it easy to break out your
application’s functionality into individual
containers.
This is needed in todays world of micro
services
Why Docker?
Concept of Docker
Docker Engine
Docker engine is the layer on which Docker runs. It’s
a lightweight runtime and tooling that manages
containers, images, builds, and more. It runs natively
on Linux systems and is made up of:
1. A Docker Daemon that runs in the host computer.
2. A Docker Client that then communicates with the
Docker Daemon to execute commands.
3. A REST API for interacting with the Docker
Daemon remotely.
Concept of Docker
Docker Images
Simply the blueprint of a docker application
Docker Container
This are real instances of an application Created from docker
images
Docker Daemon
Build, run and distributes docker containers
Docker Client
Docker on our local mechine - Think of it as the UI for Docker.
Docker Hub
A repository for docker images ( github for docker)
Dockerfile
A Dockerfile is where you write the instructions to build a
Docker image. These instructions can be:
RUN apt-get y install some-package: to install a software
package
EXPOSE 8000: to expose a port
ENV ANT_HOME /usr/local/apache-ant to pass an
environment variable
and so forth. Once you’ve got your Dockerfile set up, you can
use the docker build command to build an image from it.
Here’s an example of a Dockerfile:
Installing Docker
https://docs.docker.com/engin
e/installation/
Visit
Docker Commands
Docker run <image>
● Docker start <name | id >
● Docker stop <name | id >
docker ps – list all running containers
● Docker ps -a – include stopped
containers
● Docker rm <name | id >
. docker build – build docker image
● docker network inspect bridge
Docker Network information
Test Commands
docker inspect {CID} | grep IPAddress | grep -v null| cut
-d '"' -f 4 | head -1
Get docker container ip
docker build -t reimo/static-forloop . //build docker image
docker run -d --name forloop1 -p 8087:80 reimo/static-
forloop //run docker image
Running Docker Image
docker run reimo/forloop
The comend above will download and run reimo/forloop
image from docker hub.
● Flags
● Docker accepts upto 4 or more flags per command
Flags Value
--name Container name(
your choice }
-d Null ( run
container in the
background )
-p Port ( external
port to container
port 8900:80 )
docker run --name
forloophome -d -p 8900:80
reimo/forloop
Run with flags
Resources
● https://docs.docker.com/
● https://hub.docker.com/ - get docker images
● Youtube
● Google is your friend on this one !
End● Thanks for your time – hope it was worth it?
● If you think I can help, reach me via
imo@reimnet.com or @imo_inyang on twitter

More Related Content

What's hot

The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerAniekan Akpaffiong
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with DockerRavindu Fernando
 
Docker : Container Virtualization
Docker : Container VirtualizationDocker : Container Virtualization
Docker : Container VirtualizationRanjan Baisak
 
docker installation and basics
docker installation and basicsdocker installation and basics
docker installation and basicsWalid Ashraf
 
Introduction to automated environment management with Docker Containers - for...
Introduction to automated environment management with Docker Containers - for...Introduction to automated environment management with Docker Containers - for...
Introduction to automated environment management with Docker Containers - for...Lucas Jellema
 
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
 
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...Lucas Jellema
 
Docker for developers
Docker for developersDocker for developers
Docker for developersandrzejsydor
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An IntroductionPOSSCON
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)Gourav Varma
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionPeng Xiao
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerWalid Ashraf
 
Docker and the Container Ecosystem
Docker and the Container EcosystemDocker and the Container Ecosystem
Docker and the Container Ecosystempsconnolly
 

What's hot (20)

The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker : Container Virtualization
Docker : Container VirtualizationDocker : Container Virtualization
Docker : Container Virtualization
 
docker installation and basics
docker installation and basicsdocker installation and basics
docker installation and basics
 
Docker
DockerDocker
Docker
 
Virtual Container - Docker
Virtual Container - Docker Virtual Container - Docker
Virtual Container - Docker
 
Introduction to automated environment management with Docker Containers - for...
Introduction to automated environment management with Docker Containers - for...Introduction to automated environment management with Docker Containers - for...
Introduction to automated environment management with Docker Containers - for...
 
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
 
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
 
Docker
DockerDocker
Docker
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
presentation on Docker
presentation on Dockerpresentation on Docker
presentation on Docker
 
Docker basics
Docker basicsDocker basics
Docker basics
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
JOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to dockerJOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to docker
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker and the Container Ecosystem
Docker and the Container EcosystemDocker and the Container Ecosystem
Docker and the Container Ecosystem
 

Similar to containers and virtualization tools ( Docker )

Docker
DockerDocker
DockerNarato
 
Introduction to Dockers.pptx
Introduction to Dockers.pptxIntroduction to Dockers.pptx
Introduction to Dockers.pptxHassanRaza40719
 
Dockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to GeekDockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to GeekwiTTyMinds1
 
Docker interview Questions-2.pdf
Docker interview Questions-2.pdfDocker interview Questions-2.pdf
Docker interview Questions-2.pdfYogeshwaran R
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGAjeet Singh Raina
 
Introduction to Dockers and containers
Introduction to Dockers and containers Introduction to Dockers and containers
Introduction to Dockers and containers Sri Padaraj M S
 
Docker 1.9 Workshop
Docker 1.9 WorkshopDocker 1.9 Workshop
Docker 1.9 Workshop{code}
 
Learning Dockers - Step by Step
Learning Dockers - Step by StepLearning Dockers - Step by Step
Learning Dockers - Step by StepAdnan Siddiqi
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainAjeet Singh Raina
 
Faster and Easier Software Development using Docker Platform
Faster and Easier Software Development using Docker PlatformFaster and Easier Software Development using Docker Platform
Faster and Easier Software Development using Docker Platformmsyukor
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET DevelopersTaswar Bhatti
 

Similar to containers and virtualization tools ( Docker ) (20)

Docker
DockerDocker
Docker
 
Overview of Docker
Overview of DockerOverview of Docker
Overview of Docker
 
Docker
DockerDocker
Docker
 
Introduction to Dockers.pptx
Introduction to Dockers.pptxIntroduction to Dockers.pptx
Introduction to Dockers.pptx
 
Docker slides
Docker slidesDocker slides
Docker slides
 
Dockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to GeekDockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to Geek
 
Docker interview Questions-2.pdf
Docker interview Questions-2.pdfDocker interview Questions-2.pdf
Docker interview Questions-2.pdf
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Introduction to Dockers and containers
Introduction to Dockers and containers Introduction to Dockers and containers
Introduction to Dockers and containers
 
Docker 1.9 Workshop
Docker 1.9 WorkshopDocker 1.9 Workshop
Docker 1.9 Workshop
 
Docker In Brief
Docker In BriefDocker In Brief
Docker In Brief
 
Learning Dockers - Step by Step
Learning Dockers - Step by StepLearning Dockers - Step by Step
Learning Dockers - Step by Step
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
Hack the whale
Hack the whaleHack the whale
Hack the whale
 
Docker intro
Docker introDocker intro
Docker intro
 
Faster and Easier Software Development using Docker Platform
Faster and Easier Software Development using Docker PlatformFaster and Easier Software Development using Docker Platform
Faster and Easier Software Development using Docker Platform
 
Docker container
Docker containerDocker container
Docker container
 
Docker
DockerDocker
Docker
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 

Recently uploaded

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

containers and virtualization tools ( Docker )

  • 2. Imo Inyang Full Stack Developer @ Reimnet @imo_inyang on twitter imo@reimnet.com
  • 3. virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, operating systems, storage devices, and computer network resources. What is Virtualization?
  • 4. VM – Virtual Machines –-Hypervisor and Vagrant Containers –-Docker introduction ---Basic Setup and usage
  • 5. A VM is essentially an emulation of a real computer that executes programs like a real computer. VMs run on top of a physical machine using a “hypervisor”. A hypervisor, in turn, runs on either a host machine or on “bare-metal”. Virtual Machines
  • 7. A hypervisor is a software, firmware, or hardware that VMs run on top of. The hypervisors themselves run on physical computers, referred to as the “host machine”. The host machine provides the VMs with resources, including RAM and CPU. These resources are divided between VMs and can be distributed as you see fit. hypervisor
  • 8. Type 1 hypervisor (also called a bare metal hypervisor) is installed directly on physical host server hardware just like an operating system. Type 1 hypervisors run on dedicated hardware. They require a management console and are used in data centers. Examples Oracle OVM for SPARC, ESXi, Hyper-V and KVM. Type 1 hypervisor
  • 9. hosted hypervisor, is a virtual machine manager that is installed as a software application on an existing operating system (OS). Examples VMware Fusion, Oracle Virtual Box, Oracle VM for x86, Solaris Zones, Parallels and VMware Workstation Type 2 hypervisor
  • 10. Unlike a VM which provides hardware virtualization, a container provides operating-system-level virtualization by abstracting the “user space”. You’ll see what I mean as we unpack the term container. Containers
  • 12. Containers share the host system’s kernel with other containers. What is the Difference Containers and VMs?
  • 13. Docker is an open-source project based on Linux containers. It uses Linux Kernel features like namespaces and control groups to create containers on top of an operating system. Docker
  • 14. Google has been using their own container technology for years. Others Linux container technologies include Solaris Zones, BSD jails, and LXC, which have been around for many years. So why Docker? Before Docker
  • 15. 1. Ease of use: Docker has made it much easier for anyone—developers, systems admins,    architects and others—to take advantage of    containers in order to quickly build and test portable applications. The mantra is: “build once, run anywhere.” Why Docker?
  • 16. 2. Speed: Docker containers are very lightweight and fast. Since containers are just sandboxed environments running on the kernel, they take up fewer resources. You can create and run a Docker container in seconds, compared to VMs which might take longer because they have to boot up a full virtual operating system every time. Why Docker?
  • 17. 3. Docker Repository: Docker users also benefit from the increasingly rich ecosystem of Docker Hub, which you can think of as an “Github for Docker images.” Docker Hub has tens of thousands of public images created by the community that are readily available for use. It’s incredibly easy to search for images that meet your needs, ready to pull down and use with little-to-no modification. Why Docker?
  • 18. 4. Modularity and Scalability: Docker makes it easy to break out your application’s functionality into individual containers. This is needed in todays world of micro services Why Docker?
  • 20. Docker Engine Docker engine is the layer on which Docker runs. It’s a lightweight runtime and tooling that manages containers, images, builds, and more. It runs natively on Linux systems and is made up of: 1. A Docker Daemon that runs in the host computer. 2. A Docker Client that then communicates with the Docker Daemon to execute commands. 3. A REST API for interacting with the Docker Daemon remotely. Concept of Docker
  • 21. Docker Images Simply the blueprint of a docker application Docker Container This are real instances of an application Created from docker images Docker Daemon Build, run and distributes docker containers Docker Client Docker on our local mechine - Think of it as the UI for Docker. Docker Hub A repository for docker images ( github for docker)
  • 22. Dockerfile A Dockerfile is where you write the instructions to build a Docker image. These instructions can be: RUN apt-get y install some-package: to install a software package EXPOSE 8000: to expose a port ENV ANT_HOME /usr/local/apache-ant to pass an environment variable and so forth. Once you’ve got your Dockerfile set up, you can use the docker build command to build an image from it. Here’s an example of a Dockerfile:
  • 24. Docker Commands Docker run <image> ● Docker start <name | id > ● Docker stop <name | id > docker ps – list all running containers ● Docker ps -a – include stopped containers ● Docker rm <name | id > . docker build – build docker image ● docker network inspect bridge Docker Network information
  • 25. Test Commands docker inspect {CID} | grep IPAddress | grep -v null| cut -d '"' -f 4 | head -1 Get docker container ip docker build -t reimo/static-forloop . //build docker image docker run -d --name forloop1 -p 8087:80 reimo/static- forloop //run docker image
  • 26. Running Docker Image docker run reimo/forloop The comend above will download and run reimo/forloop image from docker hub. ● Flags ● Docker accepts upto 4 or more flags per command Flags Value --name Container name( your choice } -d Null ( run container in the background ) -p Port ( external port to container port 8900:80 ) docker run --name forloophome -d -p 8900:80 reimo/forloop Run with flags
  • 27. Resources ● https://docs.docker.com/ ● https://hub.docker.com/ - get docker images ● Youtube ● Google is your friend on this one !
  • 28. End● Thanks for your time – hope it was worth it? ● If you think I can help, reach me via imo@reimnet.com or @imo_inyang on twitter