SlideShare a Scribd company logo
1EMC CONFIDENTIAL—INTERNAL USE ONLY
Docker Introduction
Layne
2EMC CONFIDENTIAL—INTERNAL USE ONLY
$ uname -a
> No ops introduction
> No codes
> No Docker network (next time?)
> No Docker storage (Dockerone,
Vivian)
> One target: what is Docker?
> StarII program. Thanks for
being here.
3EMC CONFIDENTIAL—INTERNAL USE ONLY
$ ls –al ./
> $ man Docker
> $ man cgroup
> $ man namespaces
> User namespaces?
> Security your Docker
> $man UnionFS
> $man docker-layer
4EMC CONFIDENTIAL—INTERNAL USE ONLY
$ cat Docker
OS Virtualization
5EMC CONFIDENTIAL—INTERNAL USE ONLY
$ cat Docker
OS Virtualization
• Virtual machine emulates everything, including hardware
• Container isolates processes, users and filesystem.
6EMC CONFIDENTIAL—INTERNAL USE ONLY
$ cat Docker
LXC + Union FS
7EMC CONFIDENTIAL—INTERNAL USE ONLY
$ cat Docker
LXC + Union FS
cgroup + namespaces + Union FS
8EMC CONFIDENTIAL—INTERNAL USE ONLY
$ which Isolation
What is Isolation?
9EMC CONFIDENTIAL—INTERNAL USE ONLY
$ pstree -p
10EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man cgroup
• Limit, account, and isolate resource usage (CPU, memory, disk I/O, and more)
of process groups:
– Resource limiting: groups can be set to not exceed a set memory limit;
– Prioritization: some groups may get larger share of CPU or disk I/O
throughput;
– Accounting: to measure how much resource certain systems use;
– Control: freezing groups or checkpoint and restart
11EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man cgroup
12EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man cgroup
13EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man cgroup
Monitor resource inside a container?
Or: vmstat, iostat…
14EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man cgroup
Or: docker stats c7e8b77f5d84
15EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man namespaces
• UTS: isolate node-name and domain-name—returned by the uname()
system call
• Network: provide isolation of the system resources associated with
networking, including own network devices, IP addresses, IP routing tables,
/proc/net directory, port numbers, and so on.
• PID: isolate the process ID number space.
• Mount: isolate the set of filesystem mount points seen by a group of
processes. Thus, processes in different mount namespaces can have different
views of the filesystem hierarchy.
• IPC: isolate certain inter-process communication (IPC) resources, namely,
System V IPC objects and POSIX message queues.
• User: isolate the user and group ID number spaces. In other words, a
process's user and group IDs can be different inside and outside a user
namespace.
16EMC CONFIDENTIAL—INTERNAL USE ONLY
$ pstree -p
17EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man namespaces
docker run -it -m 256m --net=container:09f40c99ea5c
ubuntu:14.04 /bin/bash
18EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man namespaces
19EMC CONFIDENTIAL—INTERNAL USE ONLY
Network namespaces
20EMC CONFIDENTIAL—INTERNAL USE ONLY
Wait, why same host name?
21EMC CONFIDENTIAL—INTERNAL USE ONLY
Why say no User namespaces (yet)?
22EMC CONFIDENTIAL—INTERNAL USE ONLY
Why say no User namespaces (yet)?
ID-inside-ns ID-outside-ns length
23EMC CONFIDENTIAL—INTERNAL USE ONLY
Security your Docker
• No “--privileged=true”
• GID_Mapping/UID_Mapping with LXC driver;
• SELinux or AppArmor
• Libseccomp
• Capabilities
• ...
See: https://github.com/GDSSecurity/Docker-Secure-Deployment-Guidelines
24EMC CONFIDENTIAL—INTERNAL USE ONLY
Security your Docker
25EMC CONFIDENTIAL—INTERNAL USE ONLY
Conclusion of Isolation
–What is Isolation?
–Why we feel Docker is excellent?
26EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man UnionFS
It allows files and directories of separate file
systems, known as branches, to be
transparently overlaid, forming a single
coherent file system. Contents of directories
which have the same path within the
merged branches will be seen together in a
single merged directory, within the new,
virtual filesystem.
When mounting branches, the priority of
one branch over the other is specified. So
when both branches contain a file with the
same name, one gets priority over the other.
The different branches may be both read-only and read-write file systems, so that writes to the virtual,
merged copy are directed to a specific real file system. This allows a file system to appear as writable, but
without actually allowing writes to change the file system, also known as copy-on-write.
27EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man docker-layer
• Each layer of the FS is mounted on top of prior layers
• The first layer is the base image
• Current base images include debian, ubuntu, busybox,
fedora, cent os, etc
• Each read-only layer is called an image (A layer is just
a collection of files and folders!)
• The top layer is the only modifiable layer - it’s termed
the container
28EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man docker-layer
29EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man docker-layer
30EMC CONFIDENTIAL—INTERNAL USE ONLY
$ man docker-layer
31EMC CONFIDENTIAL—INTERNAL USE ONLY
$ (reverse-i-search)`cat': cat Docker
cgroup + namespaces + Union FS
32EMC CONFIDENTIAL—INTERNAL USE ONLY
$ ls -AF |grep '^.'
curl http://10.32.105.223/add_certs | sudo sh
(Only worked in Ubuntu currently)
Docker introduction

More Related Content

What's hot (20)

PDF
Introdution to Docker (theory and hands on) dbCafé - dbTrento
Cristian Consonni
 
PPTX
What is Docker
Pavel Klimiankou
 
PPTX
Introduction To Docker
Dr. Syed Hassan Amin
 
PDF
Docker and the Linux Kernel
Docker, Inc.
 
PDF
docker installation and basics
Walid Ashraf
 
PDF
Orchestrating Docker containers at scale
Maciej Lasyk
 
PDF
Intro To Docker
Jessica Lucci
 
PPTX
Docker Presentation
Adhoura Academy
 
PDF
Visualising Basic Concepts of Docker
vishnu rao
 
PDF
Docker Introduction
Robert Reiz
 
PDF
Tokyo OpenStack Summit 2015: Unraveling Docker Security
Phil Estes
 
PDF
JOSA TechTalk: Introduction to docker
Jordan Open Source Association
 
PDF
Docker
Patrick Oberdorf
 
PPTX
Docker and the Container Ecosystem
psconnolly
 
PDF
Docker Introduction + what is new in 0.9
Jérôme Petazzoni
 
PPTX
Containers and docker
SUDIP GHOSH
 
PPTX
Introduction to Docker
Alan Forbes
 
PDF
Introduction to Docker
Jian Wu
 
PDF
Docker from A to Z, including Swarm and OCCS
Frank Munz
 
PDF
Introduction to Docker and deployment and Azure
Jérôme Petazzoni
 
Introdution to Docker (theory and hands on) dbCafé - dbTrento
Cristian Consonni
 
What is Docker
Pavel Klimiankou
 
Introduction To Docker
Dr. Syed Hassan Amin
 
Docker and the Linux Kernel
Docker, Inc.
 
docker installation and basics
Walid Ashraf
 
Orchestrating Docker containers at scale
Maciej Lasyk
 
Intro To Docker
Jessica Lucci
 
Docker Presentation
Adhoura Academy
 
Visualising Basic Concepts of Docker
vishnu rao
 
Docker Introduction
Robert Reiz
 
Tokyo OpenStack Summit 2015: Unraveling Docker Security
Phil Estes
 
JOSA TechTalk: Introduction to docker
Jordan Open Source Association
 
Docker and the Container Ecosystem
psconnolly
 
Docker Introduction + what is new in 0.9
Jérôme Petazzoni
 
Containers and docker
SUDIP GHOSH
 
Introduction to Docker
Alan Forbes
 
Introduction to Docker
Jian Wu
 
Docker from A to Z, including Swarm and OCCS
Frank Munz
 
Introduction to Docker and deployment and Azure
Jérôme Petazzoni
 

Viewers also liked (8)

PDF
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
agilemethoden
 
PPTX
WebSphere Application Server Liberty Profile and Docker
David Currie
 
PDF
Introduction to Docker
James Turnbull
 
PPT
2 Linux Container and Docker
Fabio Fumarola
 
PPTX
Docker Networking
Kingston Smiler
 
PPTX
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
Ido Flatow
 
PPTX
Cgroups, namespaces and beyond: what are containers made from?
Docker, Inc.
 
PDF
Docker Einführung @GPN15
m1no
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
agilemethoden
 
WebSphere Application Server Liberty Profile and Docker
David Currie
 
Introduction to Docker
James Turnbull
 
2 Linux Container and Docker
Fabio Fumarola
 
Docker Networking
Kingston Smiler
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
Ido Flatow
 
Cgroups, namespaces and beyond: what are containers made from?
Docker, Inc.
 
Docker Einführung @GPN15
m1no
 
Ad

Similar to Docker introduction (20)

PDF
Docker Container: isolation and security
宇 傅
 
PPTX
Docker: Aspects of Container Isolation
allingeek
 
PDF
Using Docker with OpenStack - Hands On!
Adrian Otto
 
PDF
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
Jérôme Petazzoni
 
PPTX
Exploring Docker Security
Patrick Kleindienst
 
PDF
Docker and-containers-for-development-and-deployment-scale12x
rkr10
 
PPTX
Linux container internals
Ashwin Bilgi
 
PPTX
Introduction to containers
Nitish Jadia
 
PPTX
Docker Security Overview
Sreenivas Makam
 
PDF
The building blocks of docker.
Chafik Belhaoues
 
PDF
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
Yandex
 
PDF
How Secure Is Your Container? ContainerCon Berlin 2016
Phil Estes
 
PDF
The Docker Ecosystem
Dmitry Skaredov
 
PPTX
Hands on introduction to docker security for docker newbies
Yigal Elefant
 
PDF
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
dotCloud
 
PDF
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Docker, Inc.
 
PDF
Docker from scratch
Michał Wójtowicz
 
PDF
Docker London: Container Security
Phil Estes
 
PPTX
Docker Starter Pack
Saeed Hajizade
 
PDF
Docker and Containers for Development and Deployment — SCALE12X
Jérôme Petazzoni
 
Docker Container: isolation and security
宇 傅
 
Docker: Aspects of Container Isolation
allingeek
 
Using Docker with OpenStack - Hands On!
Adrian Otto
 
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
Jérôme Petazzoni
 
Exploring Docker Security
Patrick Kleindienst
 
Docker and-containers-for-development-and-deployment-scale12x
rkr10
 
Linux container internals
Ashwin Bilgi
 
Introduction to containers
Nitish Jadia
 
Docker Security Overview
Sreenivas Makam
 
The building blocks of docker.
Chafik Belhaoues
 
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
Yandex
 
How Secure Is Your Container? ContainerCon Berlin 2016
Phil Estes
 
The Docker Ecosystem
Dmitry Skaredov
 
Hands on introduction to docker security for docker newbies
Yigal Elefant
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
dotCloud
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Docker, Inc.
 
Docker from scratch
Michał Wójtowicz
 
Docker London: Container Security
Phil Estes
 
Docker Starter Pack
Saeed Hajizade
 
Docker and Containers for Development and Deployment — SCALE12X
Jérôme Petazzoni
 
Ad

Recently uploaded (20)

PPTX
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 

Docker introduction

  • 1. 1EMC CONFIDENTIAL—INTERNAL USE ONLY Docker Introduction Layne
  • 2. 2EMC CONFIDENTIAL—INTERNAL USE ONLY $ uname -a > No ops introduction > No codes > No Docker network (next time?) > No Docker storage (Dockerone, Vivian) > One target: what is Docker? > StarII program. Thanks for being here.
  • 3. 3EMC CONFIDENTIAL—INTERNAL USE ONLY $ ls –al ./ > $ man Docker > $ man cgroup > $ man namespaces > User namespaces? > Security your Docker > $man UnionFS > $man docker-layer
  • 4. 4EMC CONFIDENTIAL—INTERNAL USE ONLY $ cat Docker OS Virtualization
  • 5. 5EMC CONFIDENTIAL—INTERNAL USE ONLY $ cat Docker OS Virtualization • Virtual machine emulates everything, including hardware • Container isolates processes, users and filesystem.
  • 6. 6EMC CONFIDENTIAL—INTERNAL USE ONLY $ cat Docker LXC + Union FS
  • 7. 7EMC CONFIDENTIAL—INTERNAL USE ONLY $ cat Docker LXC + Union FS cgroup + namespaces + Union FS
  • 8. 8EMC CONFIDENTIAL—INTERNAL USE ONLY $ which Isolation What is Isolation?
  • 10. 10EMC CONFIDENTIAL—INTERNAL USE ONLY $ man cgroup • Limit, account, and isolate resource usage (CPU, memory, disk I/O, and more) of process groups: – Resource limiting: groups can be set to not exceed a set memory limit; – Prioritization: some groups may get larger share of CPU or disk I/O throughput; – Accounting: to measure how much resource certain systems use; – Control: freezing groups or checkpoint and restart
  • 13. 13EMC CONFIDENTIAL—INTERNAL USE ONLY $ man cgroup Monitor resource inside a container? Or: vmstat, iostat…
  • 14. 14EMC CONFIDENTIAL—INTERNAL USE ONLY $ man cgroup Or: docker stats c7e8b77f5d84
  • 15. 15EMC CONFIDENTIAL—INTERNAL USE ONLY $ man namespaces • UTS: isolate node-name and domain-name—returned by the uname() system call • Network: provide isolation of the system resources associated with networking, including own network devices, IP addresses, IP routing tables, /proc/net directory, port numbers, and so on. • PID: isolate the process ID number space. • Mount: isolate the set of filesystem mount points seen by a group of processes. Thus, processes in different mount namespaces can have different views of the filesystem hierarchy. • IPC: isolate certain inter-process communication (IPC) resources, namely, System V IPC objects and POSIX message queues. • User: isolate the user and group ID number spaces. In other words, a process's user and group IDs can be different inside and outside a user namespace.
  • 17. 17EMC CONFIDENTIAL—INTERNAL USE ONLY $ man namespaces docker run -it -m 256m --net=container:09f40c99ea5c ubuntu:14.04 /bin/bash
  • 18. 18EMC CONFIDENTIAL—INTERNAL USE ONLY $ man namespaces
  • 19. 19EMC CONFIDENTIAL—INTERNAL USE ONLY Network namespaces
  • 20. 20EMC CONFIDENTIAL—INTERNAL USE ONLY Wait, why same host name?
  • 21. 21EMC CONFIDENTIAL—INTERNAL USE ONLY Why say no User namespaces (yet)?
  • 22. 22EMC CONFIDENTIAL—INTERNAL USE ONLY Why say no User namespaces (yet)? ID-inside-ns ID-outside-ns length
  • 23. 23EMC CONFIDENTIAL—INTERNAL USE ONLY Security your Docker • No “--privileged=true” • GID_Mapping/UID_Mapping with LXC driver; • SELinux or AppArmor • Libseccomp • Capabilities • ... See: https://github.com/GDSSecurity/Docker-Secure-Deployment-Guidelines
  • 24. 24EMC CONFIDENTIAL—INTERNAL USE ONLY Security your Docker
  • 25. 25EMC CONFIDENTIAL—INTERNAL USE ONLY Conclusion of Isolation –What is Isolation? –Why we feel Docker is excellent?
  • 26. 26EMC CONFIDENTIAL—INTERNAL USE ONLY $ man UnionFS It allows files and directories of separate file systems, known as branches, to be transparently overlaid, forming a single coherent file system. Contents of directories which have the same path within the merged branches will be seen together in a single merged directory, within the new, virtual filesystem. When mounting branches, the priority of one branch over the other is specified. So when both branches contain a file with the same name, one gets priority over the other. The different branches may be both read-only and read-write file systems, so that writes to the virtual, merged copy are directed to a specific real file system. This allows a file system to appear as writable, but without actually allowing writes to change the file system, also known as copy-on-write.
  • 27. 27EMC CONFIDENTIAL—INTERNAL USE ONLY $ man docker-layer • Each layer of the FS is mounted on top of prior layers • The first layer is the base image • Current base images include debian, ubuntu, busybox, fedora, cent os, etc • Each read-only layer is called an image (A layer is just a collection of files and folders!) • The top layer is the only modifiable layer - it’s termed the container
  • 28. 28EMC CONFIDENTIAL—INTERNAL USE ONLY $ man docker-layer
  • 29. 29EMC CONFIDENTIAL—INTERNAL USE ONLY $ man docker-layer
  • 30. 30EMC CONFIDENTIAL—INTERNAL USE ONLY $ man docker-layer
  • 31. 31EMC CONFIDENTIAL—INTERNAL USE ONLY $ (reverse-i-search)`cat': cat Docker cgroup + namespaces + Union FS
  • 32. 32EMC CONFIDENTIAL—INTERNAL USE ONLY $ ls -AF |grep '^.' curl http://10.32.105.223/add_certs | sudo sh (Only worked in Ubuntu currently)