SlideShare a Scribd company logo
Introduction to Docker Container
Samsul Ma’arif
<mail@samsul.web.id>
DevOps of DOT Indonesia
DILO Malang | 12 March 2018
2
Me ?
● Name : Samsul Ma’arif
● Born : Cilacap, 1989
● PtS : Turen, Kab. Malang
● Currently :
– DevOps of DOT Indonesia
– Infrastucture Team of BlankOn Linux Project
– Member of KLiM
3
Contents
● Virtualization?
● Introduction to Container
● What is Docker?
● Who use Docker?
● How to Install?
● Docker Engine
● Docker Architecture
● Docker Hub/Registry
● Docker CLI
● Demo Time
4
Virtualization?
5
Virtualization Types
● Hardware Level
– Full Virtualization: Oracle VirtualBox, VMWare
Workstation, Qemu
– Bare Metal Virtualization: RedHat KVM, Citrix Xen,
VMWare Vsphere, Microsoft HyperV
● Operating System Level (OS Container): OpenVZ,
LXC
● Application Level (Application Container): Docker, rkt
6
Introduction to Container
● Standardized packaging
for software and
dependencies
● Isolate apps from each
other
● Share the same OS kernel
● Works with all major Linux
and Windows Server
7
Why Container?
https://devrant.com/search?term=devops
8
Container vs VM
VMs are an infrastructure level
construct to turn one machine into
many servers
Containers are an app
level construct
9
Container & VM
Containers and VMs together provide a tremendous amount of
flexibility for IT to optimally deploy and manage apps.
10
What is ?
● Docker is an open-source project that automates
the deployment of applications inside software
container
● Docker containers wrap up a piece of software in
a complete file system that contains everything it
needs to run: code, runtime, system tools, system
libraries – anything you can install on a server.
● This guarantees that it will always run the same,
regardless of the environment it is running in.
11
Key Benefits of Docker Containers
Speed Portability Efficiency
No OS to boot
=
Application
online in secons
Less
dependency
between
process layers
=
Ability to move
between
infrastructure
- Less OS
Overhead
- Improve VM
density
12
Why Developers Care?
● Build once, run anywhere
– A clean, safe, hygienic and portable runtime
environment for your app.
– No worries about missing dependencies, packages
and other pain points during subsequent
deployments.
– Run each app in its own isolated container, so you
can run various versions of libraries and other
dependencies for each app without worrying
13
Why Developers Care?
– Automate testing, integration, packaging...anything
you can script
– Reduce/eliminate concerns about compatibility on
different platforms, either your own or your
customers.
– Cheap, zero-penalty containers to deploy services?
A VM without the overhead of a VM? Instant replay
and reset of image snapshots? That’s the power of
Docker
14
Why DevOps Care?
● Configure once...run anything
– Make the entire lifecycle more efficient, consistent,
and repeatable
– Increase the quality of code produced by
developers.
– Eliminate inconsistencies between development,
test, production, and customer environments
15
Why DevOps Care?
– Support segregation of duties
– Significantly improves the speed and reliability of
continuous deployment and continuous integration
systems
– Because the containers are so lightweight, address
significant performance, costs, deployment, and
portability issues normally associated with VMs
16
Who use Docker?
https://www.docker.com/customers
17
Docker Edition
● Community Edition (CE)
● Enterprise Edition (EE)
18
How to Install?
● Community Edition (CE)
● Ubuntu 16.04
● https://docs.docker.com/install/linux/docker-
ce/ubuntu/
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release
-cs) stable"
sudo apt install -y apt-transport-https
sudo apt-get update
apt-cache policy docker-ce
sudo apt-get install -y docker-ce
sudo systemctl status docker
sudo usermod -aG docker [username] <~~ change with your host username
19
How to Install?
● Too long?
sudo curl -sSL https://get.docker.io/ | sh
20
Other distro and OS?
● Debian : https://docs.docker.com/engine/installation/linux/docker-
ce/debian/
● OpenSUSE : https://opensuse.id/2017/11/15/memasang-docker-
ce-pada-opensuse-leap-42-2-dan-42-3/
● CentOS :
https://docs.docker.com/engine/installation/linux/docker-
ce/centos/
● Fedora : https://docs.docker.com/engine/installation/linux/docker-
ce/fedora/
● Windows : https://docs.docker.com/docker-for-windows/install/
● MacOS : https://docs.docker.com/docker-for-mac/install/
21
Docker Engine
● Docker Engine is a client-server application with
these major components:
– A server which is a type of long-running program
called a daemon process (the dockerd command).
– A REST API which specifies interfaces that
programs can use to talk to the daemon and
instruct it what to do.
– A command line interface (CLI) client (the docker
command).
22
23
Docker Architecture
24
Docker Images
● A Docker image is a read-only template. For
example, an image could contain an Ubuntu
operating system with Apache and your web
application installed.
● Images are used to create Docker containers. Docker
provides a simple way to build new images or update
existing images, or you can download Docker images
thatother people have already created.
● Docker images are the build component of Docker.
25
Docker Hub/Registry
● A Docker registry stores Docker images.
Docker Hub and Docker Cloud are public
registries that anyone can use, and Docker is
configured to look for images on Docker Hub by
default. You can even run your own private
registry.
● http://hub.docker.com
26
Docker CLI
● docker run
● docker images
● docker ps
● docker start | stop | restart
● docker build
● docker rm
● docker rmi
● docker inspect
27
28
29
Demo Time
30
Question?
31
What next?
● Docker Machine
● Docker Compose
● Docker Swarm
● Kubernetes
● …….
32
Thanks
www.samsul.web.id | 085747526846

More Related Content

What's hot (20)

PDF
Developer workflow with docker
Lalatendu Mohanty
 
PDF
JOSA TechTalk: Taking Docker to Production
Jordan Open Source Association
 
PDF
JOSA TechTalk: Introduction to docker
Jordan Open Source Association
 
PPTX
Docker 101 - High level introduction to docker
Dr Ganesh Iyer
 
PPTX
Docker - Ankara JUG, Nisan 2015
Mustafa AKIN
 
PDF
Introdution to Docker (theory and hands on) dbCafé - dbTrento
Cristian Consonni
 
PDF
Innovating Out In The Open - OSCON 2016
Phil Estes
 
PPTX
CI, CD with Docker, Jenkins and Tutum
Sreenivas Makam
 
PDF
Getting started with docker
JEMLI Fathi
 
PDF
Docker
Patrick Oberdorf
 
PDF
Devoxx 2016: A Developer's Guide to OCI and runC
Phil Estes
 
PDF
Docker Continuous Delivery Workshop
Jirayut Nimsaeng
 
PDF
Continuous delivery with Jenkins, Docker and Mesos/Marathon - jbcnconf
Julia Mateo
 
PPTX
Getting started with docker (2017)
JEMLI Fathi
 
PPTX
Intro to docker
Towfiqul Islam
 
PPTX
Introduction to docker and oci
Romain Schlick
 
PDF
МИХАЙЛО ЗЕНІН «Dockerizing environment for mobile test automation. Scaling fr...
QADay
 
PDF
Introduction to Docker
James Turnbull
 
PDF
Modern Continuous Delivery with Docker and Liferay
Manuel de la Peña Peña
 
PDF
A Shift from Monolith to Microservice using Docker
Ajeet Singh Raina
 
Developer workflow with docker
Lalatendu Mohanty
 
JOSA TechTalk: Taking Docker to Production
Jordan Open Source Association
 
JOSA TechTalk: Introduction to docker
Jordan Open Source Association
 
Docker 101 - High level introduction to docker
Dr Ganesh Iyer
 
Docker - Ankara JUG, Nisan 2015
Mustafa AKIN
 
Introdution to Docker (theory and hands on) dbCafé - dbTrento
Cristian Consonni
 
Innovating Out In The Open - OSCON 2016
Phil Estes
 
CI, CD with Docker, Jenkins and Tutum
Sreenivas Makam
 
Getting started with docker
JEMLI Fathi
 
Devoxx 2016: A Developer's Guide to OCI and runC
Phil Estes
 
Docker Continuous Delivery Workshop
Jirayut Nimsaeng
 
Continuous delivery with Jenkins, Docker and Mesos/Marathon - jbcnconf
Julia Mateo
 
Getting started with docker (2017)
JEMLI Fathi
 
Intro to docker
Towfiqul Islam
 
Introduction to docker and oci
Romain Schlick
 
МИХАЙЛО ЗЕНІН «Dockerizing environment for mobile test automation. Scaling fr...
QADay
 
Introduction to Docker
James Turnbull
 
Modern Continuous Delivery with Docker and Liferay
Manuel de la Peña Peña
 
A Shift from Monolith to Microservice using Docker
Ajeet Singh Raina
 

Similar to Introduction to Docker Container (20)

PDF
Docker dev ops for cd meetup 12-14
Simon Storm
 
PDF
Docker+java
DPC Consulting Ltd
 
PPTX
European SharePoint Conference - TH3
Rick Van Rousselt
 
PDF
Docker Up and Running for Web Developers
Amr Fawzy
 
PDF
Docker up and Running For Web Developers
BADR
 
PPTX
[Codelab 2017] Docker 기초 및 활용 방안
양재동 코드랩
 
PDF
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
Jitendra Bafna
 
PPTX
What is Docker?
Shubhrank Rastogi
 
PDF
Introduction to Docker - Vellore Institute of Technology
Ajeet Singh Raina
 
PPTX
Run automated tests in Docker
Oleksandr Metelytsia
 
PDF
A curtain-raiser to the container world Docker & Kubernetes
zekeLabs Technologies
 
PDF
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
PPTX
Accelerate your development with Docker
Andrey Hristov
 
PDF
Accelerate your software development with Docker
Andrey Hristov
 
ODP
Docker on Power Systems
Cesar Maciel
 
PDF
Docker introduction
Marcelo Ochoa
 
PDF
Docker. General overview
Mirantis IT Russia
 
PDF
Docker for dev
Erik Talboom
 
PDF
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
dotCloud
 
PDF
Application Deployment on Openstack
Docker, Inc.
 
Docker dev ops for cd meetup 12-14
Simon Storm
 
Docker+java
DPC Consulting Ltd
 
European SharePoint Conference - TH3
Rick Van Rousselt
 
Docker Up and Running for Web Developers
Amr Fawzy
 
Docker up and Running For Web Developers
BADR
 
[Codelab 2017] Docker 기초 및 활용 방안
양재동 코드랩
 
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
Jitendra Bafna
 
What is Docker?
Shubhrank Rastogi
 
Introduction to Docker - Vellore Institute of Technology
Ajeet Singh Raina
 
Run automated tests in Docker
Oleksandr Metelytsia
 
A curtain-raiser to the container world Docker & Kubernetes
zekeLabs Technologies
 
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
Accelerate your development with Docker
Andrey Hristov
 
Accelerate your software development with Docker
Andrey Hristov
 
Docker on Power Systems
Cesar Maciel
 
Docker introduction
Marcelo Ochoa
 
Docker. General overview
Mirantis IT Russia
 
Docker for dev
Erik Talboom
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
dotCloud
 
Application Deployment on Openstack
Docker, Inc.
 
Ad

Recently uploaded (20)

PPTX
2025 CGI Congres - Surviving agile v05.pptx
Derk-Jan de Grood
 
PDF
AN EMPIRICAL STUDY ON THE USAGE OF SOCIAL MEDIA IN GERMAN B2C-ONLINE STORES
ijait
 
PPTX
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
PDF
Electrical Engineer operation Supervisor
ssaruntatapower143
 
PDF
Design Thinking basics for Engineers.pdf
CMR University
 
PPTX
Water Resources Engineering (CVE 728)--Slide 4.pptx
mohammedado3
 
PDF
mbse_An_Introduction_to_Arcadia_20150115.pdf
henriqueltorres1
 
PPTX
Knowledge Representation : Semantic Networks
Amity University, Patna
 
PPTX
Numerical-Solutions-of-Ordinary-Differential-Equations.pptx
SAMUKTHAARM
 
PDF
methodology-driven-mbse-murphy-july-hsv-huntsville6680038572db67488e78ff00003...
henriqueltorres1
 
PPTX
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
PDF
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
PPTX
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
PDF
Submit Your Papers-International Journal on Cybernetics & Informatics ( IJCI)
IJCI JOURNAL
 
PPTX
Final Major project a b c d e f g h i j k l m
bharathpsnab
 
PDF
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
PPT
Footbinding.pptmnmkjkjkknmnnjkkkkkkkkkkkkkk
mamadoundiaye42742
 
PDF
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
PPTX
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
PDF
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
2025 CGI Congres - Surviving agile v05.pptx
Derk-Jan de Grood
 
AN EMPIRICAL STUDY ON THE USAGE OF SOCIAL MEDIA IN GERMAN B2C-ONLINE STORES
ijait
 
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
Electrical Engineer operation Supervisor
ssaruntatapower143
 
Design Thinking basics for Engineers.pdf
CMR University
 
Water Resources Engineering (CVE 728)--Slide 4.pptx
mohammedado3
 
mbse_An_Introduction_to_Arcadia_20150115.pdf
henriqueltorres1
 
Knowledge Representation : Semantic Networks
Amity University, Patna
 
Numerical-Solutions-of-Ordinary-Differential-Equations.pptx
SAMUKTHAARM
 
methodology-driven-mbse-murphy-july-hsv-huntsville6680038572db67488e78ff00003...
henriqueltorres1
 
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
Submit Your Papers-International Journal on Cybernetics & Informatics ( IJCI)
IJCI JOURNAL
 
Final Major project a b c d e f g h i j k l m
bharathpsnab
 
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
Footbinding.pptmnmkjkjkknmnnjkkkkkkkkkkkkkk
mamadoundiaye42742
 
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
Ad

Introduction to Docker Container

  • 1. Introduction to Docker Container Samsul Ma’arif <[email protected]> DevOps of DOT Indonesia DILO Malang | 12 March 2018
  • 2. 2 Me ? ● Name : Samsul Ma’arif ● Born : Cilacap, 1989 ● PtS : Turen, Kab. Malang ● Currently : – DevOps of DOT Indonesia – Infrastucture Team of BlankOn Linux Project – Member of KLiM
  • 3. 3 Contents ● Virtualization? ● Introduction to Container ● What is Docker? ● Who use Docker? ● How to Install? ● Docker Engine ● Docker Architecture ● Docker Hub/Registry ● Docker CLI ● Demo Time
  • 5. 5 Virtualization Types ● Hardware Level – Full Virtualization: Oracle VirtualBox, VMWare Workstation, Qemu – Bare Metal Virtualization: RedHat KVM, Citrix Xen, VMWare Vsphere, Microsoft HyperV ● Operating System Level (OS Container): OpenVZ, LXC ● Application Level (Application Container): Docker, rkt
  • 6. 6 Introduction to Container ● Standardized packaging for software and dependencies ● Isolate apps from each other ● Share the same OS kernel ● Works with all major Linux and Windows Server
  • 8. 8 Container vs VM VMs are an infrastructure level construct to turn one machine into many servers Containers are an app level construct
  • 9. 9 Container & VM Containers and VMs together provide a tremendous amount of flexibility for IT to optimally deploy and manage apps.
  • 10. 10 What is ? ● Docker is an open-source project that automates the deployment of applications inside software container ● Docker containers wrap up a piece of software in a complete file system that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. ● This guarantees that it will always run the same, regardless of the environment it is running in.
  • 11. 11 Key Benefits of Docker Containers Speed Portability Efficiency No OS to boot = Application online in secons Less dependency between process layers = Ability to move between infrastructure - Less OS Overhead - Improve VM density
  • 12. 12 Why Developers Care? ● Build once, run anywhere – A clean, safe, hygienic and portable runtime environment for your app. – No worries about missing dependencies, packages and other pain points during subsequent deployments. – Run each app in its own isolated container, so you can run various versions of libraries and other dependencies for each app without worrying
  • 13. 13 Why Developers Care? – Automate testing, integration, packaging...anything you can script – Reduce/eliminate concerns about compatibility on different platforms, either your own or your customers. – Cheap, zero-penalty containers to deploy services? A VM without the overhead of a VM? Instant replay and reset of image snapshots? That’s the power of Docker
  • 14. 14 Why DevOps Care? ● Configure once...run anything – Make the entire lifecycle more efficient, consistent, and repeatable – Increase the quality of code produced by developers. – Eliminate inconsistencies between development, test, production, and customer environments
  • 15. 15 Why DevOps Care? – Support segregation of duties – Significantly improves the speed and reliability of continuous deployment and continuous integration systems – Because the containers are so lightweight, address significant performance, costs, deployment, and portability issues normally associated with VMs
  • 17. 17 Docker Edition ● Community Edition (CE) ● Enterprise Edition (EE)
  • 18. 18 How to Install? ● Community Edition (CE) ● Ubuntu 16.04 ● https://docs.docker.com/install/linux/docker- ce/ubuntu/ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt install -y apt-transport-https sudo apt-get update apt-cache policy docker-ce sudo apt-get install -y docker-ce sudo systemctl status docker sudo usermod -aG docker [username] <~~ change with your host username
  • 19. 19 How to Install? ● Too long? sudo curl -sSL https://get.docker.io/ | sh
  • 20. 20 Other distro and OS? ● Debian : https://docs.docker.com/engine/installation/linux/docker- ce/debian/ ● OpenSUSE : https://opensuse.id/2017/11/15/memasang-docker- ce-pada-opensuse-leap-42-2-dan-42-3/ ● CentOS : https://docs.docker.com/engine/installation/linux/docker- ce/centos/ ● Fedora : https://docs.docker.com/engine/installation/linux/docker- ce/fedora/ ● Windows : https://docs.docker.com/docker-for-windows/install/ ● MacOS : https://docs.docker.com/docker-for-mac/install/
  • 21. 21 Docker Engine ● Docker Engine is a client-server application with these major components: – A server which is a type of long-running program called a daemon process (the dockerd command). – A REST API which specifies interfaces that programs can use to talk to the daemon and instruct it what to do. – A command line interface (CLI) client (the docker command).
  • 22. 22
  • 24. 24 Docker Images ● A Docker image is a read-only template. For example, an image could contain an Ubuntu operating system with Apache and your web application installed. ● Images are used to create Docker containers. Docker provides a simple way to build new images or update existing images, or you can download Docker images thatother people have already created. ● Docker images are the build component of Docker.
  • 25. 25 Docker Hub/Registry ● A Docker registry stores Docker images. Docker Hub and Docker Cloud are public registries that anyone can use, and Docker is configured to look for images on Docker Hub by default. You can even run your own private registry. ● http://hub.docker.com
  • 26. 26 Docker CLI ● docker run ● docker images ● docker ps ● docker start | stop | restart ● docker build ● docker rm ● docker rmi ● docker inspect
  • 27. 27
  • 28. 28
  • 31. 31 What next? ● Docker Machine ● Docker Compose ● Docker Swarm ● Kubernetes ● …….