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

PPTX
Portainer
PPTX
Docker Global Hack Day #3
PDF
Orchestration of docker containers at scale
PPTX
Portainer
PPTX
Portainer dublin 11_2017
PPTX
Portainer
PDF
Dockerized maven
PPTX
Docker presentation
Portainer
Docker Global Hack Day #3
Orchestration of docker containers at scale
Portainer
Portainer dublin 11_2017
Portainer
Dockerized maven
Docker presentation

What's hot (20)

PDF
Developer workflow with docker
PDF
JOSA TechTalk: Taking Docker to Production
PDF
JOSA TechTalk: Introduction to docker
PPTX
Docker 101 - High level introduction to docker
PPTX
Docker - Ankara JUG, Nisan 2015
PDF
Introdution to Docker (theory and hands on) dbCafé - dbTrento
PDF
Innovating Out In The Open - OSCON 2016
PPTX
CI, CD with Docker, Jenkins and Tutum
PDF
Getting started with docker
PDF
PDF
Devoxx 2016: A Developer's Guide to OCI and runC
PDF
Docker Continuous Delivery Workshop
PDF
Continuous delivery with Jenkins, Docker and Mesos/Marathon - jbcnconf
PPTX
Getting started with docker (2017)
PPTX
Intro to docker
PPTX
Introduction to docker and oci
PDF
МИХАЙЛО ЗЕНІН «Dockerizing environment for mobile test automation. Scaling fr...
PDF
Introduction to Docker
PDF
Modern Continuous Delivery with Docker and Liferay
PDF
A Shift from Monolith to Microservice using Docker
Developer workflow with docker
JOSA TechTalk: Taking Docker to Production
JOSA TechTalk: Introduction to docker
Docker 101 - High level introduction to docker
Docker - Ankara JUG, Nisan 2015
Introdution to Docker (theory and hands on) dbCafé - dbTrento
Innovating Out In The Open - OSCON 2016
CI, CD with Docker, Jenkins and Tutum
Getting started with docker
Devoxx 2016: A Developer's Guide to OCI and runC
Docker Continuous Delivery Workshop
Continuous delivery with Jenkins, Docker and Mesos/Marathon - jbcnconf
Getting started with docker (2017)
Intro to docker
Introduction to docker and oci
МИХАЙЛО ЗЕНІН «Dockerizing environment for mobile test automation. Scaling fr...
Introduction to Docker
Modern Continuous Delivery with Docker and Liferay
A Shift from Monolith to Microservice using Docker
Ad

Similar to Introduction to Docker Container (20)

PDF
Docker Concepts for Oracle/MySQL DBAs and DevOps
PDF
Docker puebla bday #4 celebration
PPTX
ma-formation-en-Docker-jlklk,nknkjn.pptx
PPTX
Docker 101 describing basic docker usage
PPTX
Docker 101 - Nov 2016
PPTX
Docker
PDF
Docker up and Running For Web Developers
PDF
Docker Up and Running for Web Developers
PDF
PDF
Introduction to Docker - IndiaOpsUG
PDF
Docker for developers
PDF
Docker Basics
PDF
Talk about Docker
PDF
Docker in real life
PDF
containers and virtualization tools ( Docker )
PDF
Introduction to Docker Containers - Docker Captain
PPTX
Intro to Docker at the 2016 Evans Developer relations conference
PPTX
Containerization using docker and its applications
PPTX
Containerization using docker and its applications
PPTX
Docker
Docker Concepts for Oracle/MySQL DBAs and DevOps
Docker puebla bday #4 celebration
ma-formation-en-Docker-jlklk,nknkjn.pptx
Docker 101 describing basic docker usage
Docker 101 - Nov 2016
Docker
Docker up and Running For Web Developers
Docker Up and Running for Web Developers
Introduction to Docker - IndiaOpsUG
Docker for developers
Docker Basics
Talk about Docker
Docker in real life
containers and virtualization tools ( Docker )
Introduction to Docker Containers - Docker Captain
Intro to Docker at the 2016 Evans Developer relations conference
Containerization using docker and its applications
Containerization using docker and its applications
Docker
Ad

Recently uploaded (20)

PPTX
additive manufacturing of ss316l using mig welding
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
web development for engineering and engineering
PDF
composite construction of structures.pdf
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
UNIT 4 Total Quality Management .pptx
PPT
introduction to datamining and warehousing
PPTX
OOP with Java - Java Introduction (Basics)
PDF
Digital Logic Computer Design lecture notes
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
Current and future trends in Computer Vision.pptx
PDF
Well-logging-methods_new................
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
additive manufacturing of ss316l using mig welding
Model Code of Practice - Construction Work - 21102022 .pdf
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Internet of Things (IOT) - A guide to understanding
Foundation to blockchain - A guide to Blockchain Tech
web development for engineering and engineering
composite construction of structures.pdf
CH1 Production IntroductoryConcepts.pptx
UNIT 4 Total Quality Management .pptx
introduction to datamining and warehousing
OOP with Java - Java Introduction (Basics)
Digital Logic Computer Design lecture notes
Automation-in-Manufacturing-Chapter-Introduction.pdf
Current and future trends in Computer Vision.pptx
Well-logging-methods_new................
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx

Introduction to Docker Container

  • 1. Introduction to Docker Container Samsul Ma’arif <mail@samsul.web.id> 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 ● …….