SlideShare a Scribd company logo
1 of 26
Download to read offline
How Docker didn't invent containers
Docker Meetup Brno #1
Pavel Šnajdr
vpsFree.cz
Contents
Containers vs. Hypervisors
History of CT tech
OpenVZ
Containers in vanilla kernel
Managing containers
How Docker fits in the picture
Conclusions
whoami
● vpsFree.cz
● Container based VPS community/provider
● Founder, admin, base OS dev/QA
● Now full-time
● Formerly Relbit CTO
● Working with containers in prod since 2009
Hypervisors
HW
Hypervisor
Kernel Kernel Kernel Kernel
Init
Libraries
Apps
Init
Libraries
Apps
Init
Libraries
Apps
Init
Libraries
Apps
OS Containers
HW
Kernel
Init
Libraries
Apps
Init
Libraries
Apps
Init
Libraries
Apps
Init
Libraries
Apps
Application containers
HW
Kernel
Libraries
App
Libraries
App
Libraries
App
Libraries
App
Application containers
HW
Kernel
Libraries
App App App App
1998: FreeBSD Jails
● FreeBSD 4.0
● Resource management very limited
● Origins: a small webhosting company
2001: SWSoft Virtuozzo 2.0
● Started in 1999
● Groups of processes with namespace isolation
● FS to share code and save RAM
● Resources management
● SWSoft -> Parallels
● Also in 2001 linux-vserver
● Mostly one-man show
2004
● Solaris Containers released (“Zones”)
● Virtuozzo for Windows
● Live kernel patching
2005
● OpenVZ project
● Namespaces (PID, mnt, UTS, net, IPC)
● UBC
● vzquota
● vzctl
● Goal set to upstream containers
(“better late than never”)
2006
● OpenVZ live migration
● Rebase to RHEL4 kernel
2007
● IBM AIX WPARs, HP-UX SRP containers
● OpenVZ rebase to RHEL5
● Also 2.6.20 port
● cgroups upstreamed (Google & IBM)
2008
● OpenVZ namespaces upstreaming
● PID, net, IPC, UTS, mnt
● LXC
2010
● OpenVZ
● Rebase to RHEL6 kernel
● VSwap (simplified UBC)
● ploop (CT-in-a-file)
● on-demand allocation
● instant snapshots
● online resize, compact, merge
● write tracker
2011
● CRIU proposed
● Checkpoint: get stuff from /proc debug fac.
● Restore: read dump & recreate environment
● LinuxCon 2011 Prague
● “There can be only one”
... container tech in vanilla
● Avoid Xen vs. KVM mess
2012
● CRIU 0.1 released
● vzctl 4.0 with support for upstream kernel
2013
● Docker
● lmctfy
● CoreOS
● vzctl adds IO limits
● user namespace in vanilla
2014
● vzctl 4.8, faster live migration
● Parallels announce PCS and OpenVZ to merge
into common open-source code-base
2015
● OpenVZ RHEL7 kernel beta
● CRIU for migration
● cgroups replacing UBC
● vzctl not compatible yet
● public Git repo
http://src.openvz.org/
OpenVZ and Docker
● Docker inside
https://openvz.org/Docker_inside_CT
● Docker outside
https://github.com/docker/libcontainer/pull/434
● Docker and CRIU
● work in progress
Containers in vanilla kernel
● Any of (cgroups + namespaces) = container
● Cgroups (blkio, cpu, cpuacct, cpuset, devices,
freezer, ns)
● Namespaces (user, net, PID, UTS, mnt, IPC)
Container management tools
● LXC
● LXD
● Docker
● libvirt-lxc
● systemd-nspawn
● vzctl
● lmctfy
● libct
https://github.com/xemul/libct
● “Libvirt for containers”
Docker and containers
Conclusions
● Containers != Docker
● Docker = single (very) limited way of using
container tech for apps deployment
● Reinvent the wheel approach... (PID #1, logs...)
● Most mature container tech = OpenVZ
● Best isolation (eg. Kmem)
● Most features
● Do you actually want Docker or containers?
Q/A
● Questions?
Anytime -> snajpa@snajpa.net

More Related Content

What's hot

Libcontainer: joining forces under one roof
Libcontainer: joining forces under one roofLibcontainer: joining forces under one roof
Libcontainer: joining forces under one roof
Andrey Vagin
 

What's hot (17)

Libcontainer: joining forces under one roof
Libcontainer: joining forces under one roofLibcontainer: joining forces under one roof
Libcontainer: joining forces under one roof
 
An Open Source Story: Open Containers & Open Communities
An Open Source Story: Open Containers & Open CommunitiesAn Open Source Story: Open Containers & Open Communities
An Open Source Story: Open Containers & Open Communities
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
 
[KubeCon EU 2020] containerd Deep Dive
[KubeCon EU 2020] containerd Deep Dive[KubeCon EU 2020] containerd Deep Dive
[KubeCon EU 2020] containerd Deep Dive
 
Containerd internals: building a core container runtime
Containerd internals: building a core container runtimeContainerd internals: building a core container runtime
Containerd internals: building a core container runtime
 
Red Hat Container Development Kit
Red Hat Container Development KitRed Hat Container Development Kit
Red Hat Container Development Kit
 
Rootless Containers & Unresolved issues
Rootless Containers & Unresolved issuesRootless Containers & Unresolved issues
Rootless Containers & Unresolved issues
 
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
 
Notary - container signing
Notary - container signingNotary - container signing
Notary - container signing
 
Rkt Container Engine
Rkt Container EngineRkt Container Engine
Rkt Container Engine
 
[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images
 
Linux Containers & Docker
Linux Containers & DockerLinux Containers & Docker
Linux Containers & Docker
 
Docker-Vancouver Meetup - March 18, 2014 - An Introduction to Docker
Docker-Vancouver Meetup - March 18, 2014 - An Introduction to DockerDocker-Vancouver Meetup - March 18, 2014 - An Introduction to Docker
Docker-Vancouver Meetup - March 18, 2014 - An Introduction to Docker
 
Automated testing with Openshift
Automated testing with OpenshiftAutomated testing with Openshift
Automated testing with Openshift
 
Make Accelerator Pluggable for Container Engine
Make Accelerator Pluggable for Container EngineMake Accelerator Pluggable for Container Engine
Make Accelerator Pluggable for Container Engine
 
The automated tests inside Openshift
The automated tests inside OpenshiftThe automated tests inside Openshift
The automated tests inside Openshift
 
Datacenter Airlift - "Docker and the world of “containerized" environments"
Datacenter Airlift - "Docker and the world of “containerized" environments"Datacenter Airlift - "Docker and the world of “containerized" environments"
Datacenter Airlift - "Docker and the world of “containerized" environments"
 

Viewers also liked

làm sao trị bệnh giảm ham muốn tình dục hiệu quả nhất
làm sao trị bệnh giảm ham muốn tình dục hiệu quả nhấtlàm sao trị bệnh giảm ham muốn tình dục hiệu quả nhất
làm sao trị bệnh giảm ham muốn tình dục hiệu quả nhất
vella201
 
Qatar Airways Magazine
Qatar Airways MagazineQatar Airways Magazine
Qatar Airways Magazine
Joe F. Foggia
 
информационные процессы
информационные процессыинформационные процессы
информационные процессы
daha15638
 
Top 8 testing engineer resume samples
Top 8 testing engineer resume samplesTop 8 testing engineer resume samples
Top 8 testing engineer resume samples
tonychoper2105
 
The Superyacht Annual Report 2014
The Superyacht Annual Report 2014The Superyacht Annual Report 2014
The Superyacht Annual Report 2014
Joe F. Foggia
 
Individual Accountability Brochure 2016
Individual Accountability Brochure 2016Individual Accountability Brochure 2016
Individual Accountability Brochure 2016
Adam Moodie
 

Viewers also liked (12)

làm sao trị bệnh giảm ham muốn tình dục hiệu quả nhất
làm sao trị bệnh giảm ham muốn tình dục hiệu quả nhấtlàm sao trị bệnh giảm ham muốn tình dục hiệu quả nhất
làm sao trị bệnh giảm ham muốn tình dục hiệu quả nhất
 
Qatar Airways Magazine
Qatar Airways MagazineQatar Airways Magazine
Qatar Airways Magazine
 
информационные процессы
информационные процессыинформационные процессы
информационные процессы
 
Invest in Mythica 4
Invest in Mythica 4Invest in Mythica 4
Invest in Mythica 4
 
Biomes all over the World
Biomes all over the WorldBiomes all over the World
Biomes all over the World
 
Study of Extreme Weather Events (hot & cold day or wave) over Bihar Region
Study of Extreme Weather Events (hot & cold day or wave) over Bihar RegionStudy of Extreme Weather Events (hot & cold day or wave) over Bihar Region
Study of Extreme Weather Events (hot & cold day or wave) over Bihar Region
 
Top 8 testing engineer resume samples
Top 8 testing engineer resume samplesTop 8 testing engineer resume samples
Top 8 testing engineer resume samples
 
Pahala pendorong amalan kebaikan
Pahala pendorong amalan kebaikanPahala pendorong amalan kebaikan
Pahala pendorong amalan kebaikan
 
The Superyacht Annual Report 2014
The Superyacht Annual Report 2014The Superyacht Annual Report 2014
The Superyacht Annual Report 2014
 
Patel Neotown-price-reviews-construction update
Patel Neotown-price-reviews-construction updatePatel Neotown-price-reviews-construction update
Patel Neotown-price-reviews-construction update
 
Basic practice of R
Basic practice of RBasic practice of R
Basic practice of R
 
Individual Accountability Brochure 2016
Individual Accountability Brochure 2016Individual Accountability Brochure 2016
Individual Accountability Brochure 2016
 

Similar to How Docker didn't invent containers (Docker Meetup Brno #1)

Docker integration
Docker integrationDocker integration
Docker integration
Vijay Bellur
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
Docker, Inc.
 

Similar to How Docker didn't invent containers (Docker Meetup Brno #1) (20)

Docker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionDocker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine Evolution
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with Codefresh
 
Docker integration
Docker integrationDocker integration
Docker integration
 
Docker+java
Docker+javaDocker+java
Docker+java
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" Edition
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Docker Fundamentals
Docker FundamentalsDocker Fundamentals
Docker Fundamentals
 
Containers without docker
Containers without dockerContainers without docker
Containers without docker
 
JOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to dockerJOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to docker
 
Container Runtimes: Comparing and Contrasting Today's Engines
Container Runtimes: Comparing and Contrasting Today's EnginesContainer Runtimes: Comparing and Contrasting Today's Engines
Container Runtimes: Comparing and Contrasting Today's Engines
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
OpenVZ, Virtuozzo and Docker
OpenVZ, Virtuozzo and DockerOpenVZ, Virtuozzo and Docker
OpenVZ, Virtuozzo and Docker
 
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
 
Containers - Cloud Phoenix March Meetup
Containers - Cloud Phoenix March MeetupContainers - Cloud Phoenix March Meetup
Containers - Cloud Phoenix March Meetup
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
 
HLayer / Docker and its ecosystem
HLayer / Docker and its ecosystemHLayer / Docker and its ecosystem
HLayer / Docker and its ecosystem
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013
 

Recently uploaded

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Recently uploaded (20)

WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 

How Docker didn't invent containers (Docker Meetup Brno #1)