SlideShare a Scribd company logo
Container Crash Course
Interop Las Vegas 2015
container crash course
Processes and Filesystems
Interop Las Vegas 2015
Zen and the
Art of System Management
Interop Las Vegas 2015
Building Cloud
Native Architectures
Interop Las Vegas 2015
Agenda
• Introduction
• Containers as a metaphor
• Containers from first principles
• Linux Containers
• Managing Containers
• Really Managing Containers
• What’s next?
Andrew Clay Shafer
Andrew Clay Shafer
@littleidea
What is a container?
History
The Box
Someone thought this
was interesting enough
to write 400 pages.
The system, developed after World War II,
dramatically reduced transport costs, supported
the post-war boom in international trade, and
was a major element in globalization.
Timeline
• Origins in 18th Century English Coal Mining
• By 1830, Railroads Carried Boxes Designed For Other Modes
• Early 1900s, Closed Boxes Designed for Both Road and Rail
• 1933 Bureau International des Containers et du Transport Intermodal
• 1951 Purpose Built Ships
• 1955, Modern Intermodal Container Developed
• 1968: ISO_668 Defined the Terminology, Dimensions and Ratings
• Innovation Since 1970 Optimized Logistics
McLean had initially favored the construction of
"trailerships"—taking trailers from large trucks
and stowing them in a ship's cargo hold.
Containers
• “Intermodal”
• Have Standardized Dimensions
• Transported Without Being Opened
• Handling Completely Mechanized
• All Containers Numbered and Tracked
Impact
• Did Away With Most Manual Sorting
• Significantly Reduced Warehousing
• Reduced Port Congestion
• Shortened Shipping Time
• Reduced Loss From Damage and Theft
• Displaced Thousands of Dock Workers
As of 2009, approximately 90% of non-
bulk cargo worldwide is moved by
containers stacked on transport ships
few initially foresaw the extent of the
influence of containerization on the
shipping industry.
Impact wasn’t from the details of
‘containers’ but from the infrastructure
and logistic optimization
where were we?
What makes a process?
• executable code
• machine registers
• heap
• stack
• file descriptors
• environment variables
a process is context
information maintained about
and for an executing program
the abstraction of a physical
processor
Some Context
• Process ID (pid)
• Parent process ID (ppid)
• Real User ID
• Effective User ID
• Current Directory
• File Descriptor Table
• ENV
PID 0
sched
actually part of the kernel
PID 1
init
UID PID PPID CPU PRI NI VSZ RSS WCHAN STAT TT TIME COMMAND
0 1 0 0 48 0 2540232 14288 - Ss ?? 49:39.12 /sbin/launchd
every process has a parent who
is supposed to take care of it
Why am I telling you this?
a ‘container’ is just a process
pretending it’s all alone
Containers are Not VMs
“trailerships”
Well, what is a VM?
Hypervisors & Virtual Machines
• software emulation of hardware
• must boot another kernel
• another layer between process and
silicon
moving forward
On to containers
a glimpse of the future
How did we get here?
‘container’ history
• 1979 Unix v7 chroot system call
• 2000 FreeBSD Jails
• 2001 Linux Vserver
• 2004 Solaris Zones
• 2005 OpenVZ
• 2006 Process Containers
• 2007 cgroups merged into mainline
‘container’ history
• 2008 LXC
• 2011 Cloud Foundry Warden
• 2013 LMCTFY
• 2013 Docker
• 2014 Rocket
• ??
Not New
features of the kernel
namespaces and groups
• namespaces limit visibility
• cgroups limit access
The purpose of each namespace is to wrap a particular
global system resource in an abstraction that makes it
appear to the processes within the namespace that they
have their own isolated instance of the global resource.
Namespaces
• mount - filesystem hierarcy
• UTS - hostnames
• IPC - interprocess communication
• PID - process ID (different namespaces can have same PID)
• network - each namespace has own devices, IP, routing tables
• user - isolate the user and group id number spaces
grouping/partitioning of processes, with
newly forked processes ending up in the
same group (cgroup) as their parent process
cgroups
• cpu
• memory
• cpuacct
• cpuset
• devices
• freezer
• net_cls
• ns
But what is actually running?
chroot is an operation that changes the apparent root directory
for the current running process and their children. A program
that is run in such a modified environment cannot access files
and commands outside that environmental directory tree. This
modified environment is called a chroot jail.
files systems
abstraction
representing data,
ownership and
permissions
When people talk about ‘containers’ right
now they are often conflating the runtime
isolation and the packaging of filesystems
Blame Docker
Docker, Docker, Docker
Docker made it easy to make
and share filesystem images
Docker made containers accessible
to the average developer
the best thing about docker is
the social sharing and workflows
the worst thing about docker is
the social sharing and workflows
:)
Now you have 1000s of
containers deployed
Oh Wait… how?
Intermodal
we just need the trains and cranes
Purpose Built Ships
• role based access to resources
• run specified bits on demand
• coordinate cross service
configurations
• route public requests to running bits
• read and write persistent data
• add and remove resources
• record internal and external
events
• isolate resources and failures
• measure performance/health
• detect and determine failure
(plan & provoke failure)
• recover failures
• work tomorrow
Problems to solve…
better get to work
Resources
• namespaces - http://lwn.net/
Articles/531114/
• cgroups - https://
www.kernel.org/doc/
Documentation/cgroups/
cgroups.txt
• http://lattice.cf/
• http://cloudfoundry.org/
• https://linuxcontainers.org/
• https://www.docker.com/
• https://coreos.com/blog/rocket/
• http://kubernetes.io/
• http://mesos.apache.org/

More Related Content

PDF
Docker Introduction + what is new in 0.9
PPTX
Introduction to Docker
PPTX
Cgroups, namespaces and beyond: what are containers made from?
PDF
Docker from A to Z, including Swarm and OCCS
PPTX
Lxc – next gen virtualization for cloud intro (cloudexpo)
PDF
A Gentle Introduction To Docker And All Things Containers
PPTX
Docker for the new Era: Introducing Docker,its components and tools
PDF
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Docker Introduction + what is new in 0.9
Introduction to Docker
Cgroups, namespaces and beyond: what are containers made from?
Docker from A to Z, including Swarm and OCCS
Lxc – next gen virtualization for cloud intro (cloudexpo)
A Gentle Introduction To Docker And All Things Containers
Docker for the new Era: Introducing Docker,its components and tools
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire

What's hot (20)

PDF
Intro to containerization
PDF
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
PDF
Docker and Containers for Development and Deployment — SCALE12X
PDF
Docker and containers : Disrupting the virtual machine(VM)
PDF
Orchestrating Docker containers at scale
PDF
How we dockerized a startup? #meetup #docker
PDF
Visualising Basic Concepts of Docker
ODP
OpenVZ, Virtuozzo and Docker
PDF
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...
PDF
Docker - introduction
PPTX
Linux Container Brief for IEEE WG P2302
PDF
Understanding LXC & Docker
PDF
Docker introduction
PDF
Evoluation of Linux Container Virtualization
PDF
Docker introduction
PDF
Understand how docker works
PPTX
Performance characteristics of traditional v ms vs docker containers (dockerc...
PDF
Introduction to Docker - Docker workshop @Twitter
PDF
Docker: the road ahead
PDF
Introduction To Docker
Intro to containerization
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Docker and Containers for Development and Deployment — SCALE12X
Docker and containers : Disrupting the virtual machine(VM)
Orchestrating Docker containers at scale
How we dockerized a startup? #meetup #docker
Visualising Basic Concepts of Docker
OpenVZ, Virtuozzo and Docker
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...
Docker - introduction
Linux Container Brief for IEEE WG P2302
Understanding LXC & Docker
Docker introduction
Evoluation of Linux Container Virtualization
Docker introduction
Understand how docker works
Performance characteristics of traditional v ms vs docker containers (dockerc...
Introduction to Docker - Docker workshop @Twitter
Docker: the road ahead
Introduction To Docker
Ad

Viewers also liked (20)

PDF
Architecture, what does it even mean?
PDF
devops, platforms and devops platforms
PPTX
5 awesome shipping container retreats
DOC
Concept note mo h final
PPT
From shipping container to medical clinic: The new 20 ft. Clinic In A Can
PPT
Folding Shipping Container
PPTX
Shipping container architecture
PDF
Business Plan : shipping container hotel construction for the Olympic Games i...
PDF
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
PPTX
RORO SHIPPING VS CONTAINER SHIPPING
PPTX
Container shipping industry
PDF
Cargo Container
PDF
Scalable Microservices at Netflix. Challenges and Tools of the Trade
PDF
Shipping Container Architecture
PPTX
Types of containers
PDF
Facade Research Document
DOCX
Universidad nacional de chimborazo examen
PDF
Building the stacks for a mutualised newspaper
PDF
Aptech
PPTX
Template ppt power engg.
Architecture, what does it even mean?
devops, platforms and devops platforms
5 awesome shipping container retreats
Concept note mo h final
From shipping container to medical clinic: The new 20 ft. Clinic In A Can
Folding Shipping Container
Shipping container architecture
Business Plan : shipping container hotel construction for the Olympic Games i...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
RORO SHIPPING VS CONTAINER SHIPPING
Container shipping industry
Cargo Container
Scalable Microservices at Netflix. Challenges and Tools of the Trade
Shipping Container Architecture
Types of containers
Facade Research Document
Universidad nacional de chimborazo examen
Building the stacks for a mutualised newspaper
Aptech
Template ppt power engg.
Ad

Similar to container crash course (20)

PDF
PDF
Kubernetes2
PDF
Whales, Clouds, and Bubbles...?
PPTX
Docker Presentation
PDF
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
PPT
Docker Devops document for short summary
PPTX
Linux Container Basics
PDF
Containers > VMs
PDF
Containers in depth – Understanding how containers work to better work with c...
PDF
Container Security
PPT
Docker.ppt
PDF
IAU workshop 2018 day one
PPTX
Using Docker in production: Get started today!
PPTX
SummerStudent17_HandsOn Data Cloud Computing.pptx
PPT
Containers 101
PDF
LibCT и контейнеры на уровне приложений -- Александр Бурлука
PDF
LibCT: one lib to rule them all -- Andrey Vagin
PDF
Nuxeo World Session: CMIS - What's Next?
PPTX
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
PDF
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Kubernetes2
Whales, Clouds, and Bubbles...?
Docker Presentation
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
Docker Devops document for short summary
Linux Container Basics
Containers > VMs
Containers in depth – Understanding how containers work to better work with c...
Container Security
Docker.ppt
IAU workshop 2018 day one
Using Docker in production: Get started today!
SummerStudent17_HandsOn Data Cloud Computing.pptx
Containers 101
LibCT и контейнеры на уровне приложений -- Александр Бурлука
LibCT: one lib to rule them all -- Andrey Vagin
Nuxeo World Session: CMIS - What's Next?
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...

More from Andrew Shafer (20)

PDF
We Must Always Take Sides
PDF
Always Take Sides
PDF
DevSecOps: The End of the Beginning - Austin
PDF
deep devops - learning to learn dotScale 2017
PDF
do you see what I see?
PDF
the end of the beginning - devopsdays Denver 2017
PDF
Chop Wood, Carry Water
PDF
transforming how the world operates software
PDF
Patterns of Cloud Native Architecture
PDF
devops, microservices, and platforms, oh my!
PDF
Bosh - Configuring Services
PDF
I build the future - Agile 2014
PDF
Unicorns, Dragons, Open Source Business Models and Other Mythical Creatures
PDF
Open is as Open does
PDF
How did your organizational learning game come up? - Velocity 2014
PDF
cloud foundry summit - no talent shortage
PDF
OpenStack - an authentic critique
PDF
devopsdays Austin - no true devops
PDF
The Learning Organization - MoDev
PDF
Agile Doesn't Work - Agile Twin Cities
We Must Always Take Sides
Always Take Sides
DevSecOps: The End of the Beginning - Austin
deep devops - learning to learn dotScale 2017
do you see what I see?
the end of the beginning - devopsdays Denver 2017
Chop Wood, Carry Water
transforming how the world operates software
Patterns of Cloud Native Architecture
devops, microservices, and platforms, oh my!
Bosh - Configuring Services
I build the future - Agile 2014
Unicorns, Dragons, Open Source Business Models and Other Mythical Creatures
Open is as Open does
How did your organizational learning game come up? - Velocity 2014
cloud foundry summit - no talent shortage
OpenStack - an authentic critique
devopsdays Austin - no true devops
The Learning Organization - MoDev
Agile Doesn't Work - Agile Twin Cities

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Encapsulation theory and applications.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPT
Teaching material agriculture food technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Electronic commerce courselecture one. Pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Spectroscopy.pptx food analysis technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MYSQL Presentation for SQL database connectivity
Reach Out and Touch Someone: Haptics and Empathic Computing
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Encapsulation theory and applications.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
20250228 LYD VKU AI Blended-Learning.pptx
The AUB Centre for AI in Media Proposal.docx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Teaching material agriculture food technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Electronic commerce courselecture one. Pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectroscopy.pptx food analysis technology
Dropbox Q2 2025 Financial Results & Investor Presentation
Review of recent advances in non-invasive hemoglobin estimation
Agricultural_Statistics_at_a_Glance_2022_0.pdf

container crash course