SlideShare a Scribd company logo
1 of 48
Welcome to CIALUG!
Linux Container Showdown
Andrew Denner
Central Iowa Linux Users Group
November Meeting
Welcome to
LUG
Meetings are on the third Wednesday
of every month
We have a website!
http://www.cialug.org
List Server
IRC/Slack
Linux News Roundup
About our presenter
• Some say that he has no face, all we know
is that he is the presenter…
About me (in all seriousness)
• I write code, sometimes have
to dabble in devops and by
night I do linuxy things
• These statements are my own,
not those of anyone else
including my employer and the
commissioner of baseball
• Twitter: adenner
• Slides will be posted to
http://denner.co
On with the show
The Linux Container showdown
Concepts
Virtual machine (VM)
Container
Early History
chroot
• 1979 chroot on version 7
• “A chroot on Unix operating systems is
an operation that changes the apparent
root directory for the current running
process and its children. A program that
is run in such a modified environment
cannot name files outside the
designated directory tree.” –Wikipedia
• It isn’t perfect
Demo
• J=$HOME/jail
• mkdir -p $J
• mkdir -p $J/{bin,lib64,lib}
• mkdir $J/lib/x86_64-linux-gnu/
• cd $J
• cp -v /bin/{bash,ls} $J/bin
• ldd /bin/bash
• list="$(ldd /bin/bash | egrep -o
'/lib.*.[0-9]')"; for i in $list; do
cp -v "$i" "${J}${i}"; done
• list="$(ldd /bin/ls | egrep -o
'/lib.*.[0-9]')"; for i in $list; do
cp -v "$i" "${J}${i}"; done
• chroot $J /bin/bash
• ls /
Demo
BSD Jails
First in 1999 Free BSD by Poul-
Henning Kamp after use in a small
hosting company
Achieved three
goals:
Virtualization
Security
Ease of Delagation
Each jail is custom rolled/built
Single point of failure
Solaris Zones
First relased 2004 in build
51 beta of Solaris 10
Can control what resources
each zone gets and also can
just give a fair share
Still present in Illumonos
(Open Solaris) and Solaris
openVZ
• Open Virtuozzo
• Soft memory allocation, can be shared if
not being used
• Old versions used chroot based disk
isolation. Current version lets each
container have it’s own file system
• Requires Custom Kernel providing:
• Virtualization
• Isolation
• Resource Management
• checkpointing
LXC
• Uses Linux cgroups and other namespace
isolations
• Much like jails
• Works with the vanilla kernel unlike
openVZ
• Orriginally docker used
Modern history
Docker
• Opensourced in 2013
• Building on the previous ideas
• Image ecosystem
• More ephemeral and portable across
machines
• Versioning
• Overlayfs
• Downsides: still single point of failure
• Dockerd root—security concerns
Docker File
Rootless Docker
• Thanks to Akihiro Suda of NTT Corp for all his work
• See
https://www.slideshare.net/AkihiroSuda/dockercon-
2019-hardening-docker-daemon-with-rootless-mode for
deep dive
• Works as sub-user and sub-group ids
• Overlay fs doesn’t work yet
• Can’t use protected ports
• https://www.katacoda.com/courses/docker/rootless
CNCF
• In the beginning there was docker…
• Then came others and the CNCF is the vender nuteral home for the
plumbing that runs containers
• It is a part of the linux foundation
• Think of like apache but for containerization
• Home to
• Kubernetes
• Prometheus
• Envoy
• Containerd
• Et. al.
Pouch
• https://pouchcontainer.io
• From Alibaba Group
• Never had heard of them before
• Distributes images via Dragonfly p2p
• Rich container mode more hooks and magic available
Kata
Containers
• Kata Containers is an open source project
and community working to build a standard
implementation of lightweight Virtual
Machines (VMs) that feel and perform like
containers, but provide the workload
isolation and security advantages of VMs.
• https://katacontainers.io
Moby
https://mobyproject.org
An open framework to
assemble specialized container
systems without reinventing
the wheel.
Not for mere mortals
Docker
Compose
• Yaml tool for defining and running multiple
docker applications at the same time
• Useful for:
• dev environments
• Automated test environments
• Single host deployments
Docker Swarm
Joins a Pool of docker hosts into one
virtual host
YAML based definitions
Networking via an overlay network
Easier to set up than a K8 cluster
VHS vs Betamax
Kubernetes
• Originally designed by Google engineers –Borg
• Orchestrate containers across multiple hosts.
• Make better use of hardware to maximize
resources needed to run your enterprise apps.
• Control and automate application deployments and
updates.
• Mount and add storage to run stateful apps.
• Scale containerized applications and their
resources on the fly.
• Declaratively manage services, which guarantees
the deployed applications are always running how
you deployed them.
• Health-check and self-heal your apps with
autoplacement, autorestart, autoreplication, and
autoscaling.
K3s
• Kubernetes abrieated is K8… 5 less than
that is k3s
• K8 but only the good parts all in less than
40mb
• Still rather experimental
• Got rid of Legacy alpha and non-default
code removed
• Removed most in-tree plugins
• Use sqlite 3 rather than etcd by default
• Simple launcher
K3s cont.
• Minimal requirements, leverages
• containerd
• Flannel
• CoreDNS
• CNI
• Host utilities (iptables, socat, etc)
• Install from
https://github.com/rancher/k3s
• Demo:
https://asciinema.org/a/k6lHGEZ65
le2rxm5giAxJOR7C
Podman
• New in Centos 8
• See presentation last month
• Biggest thing to note is no need for the
docker damon
• Can handle Rootless same as docker, with
same shortcomings
• https://asciinema.org/a/oDxbleQ4q0ww6
WpS46JUy1dt0
Buildah
• Container management and build program
• Can build and use CNF protable images
without a local docker
• Better control of image layers
• Ability to build images via bash
• As well as building dockerfile images
• Demo:
https://asciinema.org/a/peZtZjTkeZHtUm
AN5AdnWPp2i
• https://asciinema.org/a/V4NZWIdV83CcOP
DW4favh4vi3
Example script

More Related Content

What's hot

Mobycraft - Docker in 8-bit by Aditya Gupta
Mobycraft - Docker in 8-bit by Aditya Gupta Mobycraft - Docker in 8-bit by Aditya Gupta
Mobycraft - Docker in 8-bit by Aditya Gupta Docker, Inc.
 
Introduction to Docker - What is it and how is it compared to VM's
Introduction to Docker - What is it and how is it compared to VM'sIntroduction to Docker - What is it and how is it compared to VM's
Introduction to Docker - What is it and how is it compared to VM'sJeremy Haas
 
DockerCon SF 2015: Docker Security
DockerCon SF 2015: Docker SecurityDockerCon SF 2015: Docker Security
DockerCon SF 2015: Docker SecurityDocker, Inc.
 
Introduction to Containers and Docker
Introduction to Containers and DockerIntroduction to Containers and Docker
Introduction to Containers and DockerRob Loach
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraDaniel Palstra
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesabhishek chawla
 
Docker intro
Docker introDocker intro
Docker introOleg Z
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerizationBalint Pato
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAlan Forbes
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An IntroductionPOSSCON
 
Docker introduction
Docker introductionDocker introduction
Docker introductionPhuc Nguyen
 
Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to DockerJian Wu
 
DCA. certificate slide Session 1
DCA. certificate slide Session 1DCA. certificate slide Session 1
DCA. certificate slide Session 1Hadi Tayanloo
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerJérôme Petazzoni
 

What's hot (20)

Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Docker architecture-04-1
Docker architecture-04-1Docker architecture-04-1
Docker architecture-04-1
 
Mobycraft - Docker in 8-bit by Aditya Gupta
Mobycraft - Docker in 8-bit by Aditya Gupta Mobycraft - Docker in 8-bit by Aditya Gupta
Mobycraft - Docker in 8-bit by Aditya Gupta
 
Introduction to Docker - What is it and how is it compared to VM's
Introduction to Docker - What is it and how is it compared to VM'sIntroduction to Docker - What is it and how is it compared to VM's
Introduction to Docker - What is it and how is it compared to VM's
 
DockerCon SF 2015: Docker Security
DockerCon SF 2015: Docker SecurityDockerCon SF 2015: Docker Security
DockerCon SF 2015: Docker Security
 
Introduction to Containers and Docker
Introduction to Containers and DockerIntroduction to Containers and Docker
Introduction to Containers and Docker
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel Palstra
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
 
Docker intro
Docker introDocker intro
Docker intro
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerization
 
JOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to dockerJOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to docker
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
 
Intro To Docker
Intro To DockerIntro To Docker
Intro To Docker
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to Docker
 
DCA. certificate slide Session 1
DCA. certificate slide Session 1DCA. certificate slide Session 1
DCA. certificate slide Session 1
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with Docker
 

Similar to Central Iowa Linux Users Group: November Meeting -- Container showdown

Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSFrank Munz
 
Docker - the what why and hows
Docker - the what why and howsDocker - the what why and hows
Docker - the what why and howsSouvik Maji
 
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cDocker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cFrank Munz
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with DockerRavindu Fernando
 
Lightweight Virtualization Docker in Practice
Lightweight Virtualization Docker in PracticeLightweight Virtualization Docker in Practice
Lightweight Virtualization Docker in PracticeDocker, Inc.
 
Docker - Hack Salem! - November 2014
Docker - Hack Salem! - November 2014Docker - Hack Salem! - November 2014
Docker - Hack Salem! - November 2014Charles Anderson
 
Docker Security
Docker SecurityDocker Security
Docker Securityantitree
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochranedotCloud
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifeidotCloud
 
Using Docker in production: Get started today!
Using Docker in production: Get started today!Using Docker in production: Get started today!
Using Docker in production: Get started today!Clarence Bakirtzidis
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupKumar Ashwin
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupKumar Ashwin
 
Containers docker-docker hub-azureacr-azure aci
Containers docker-docker hub-azureacr-azure aciContainers docker-docker hub-azureacr-azure aci
Containers docker-docker hub-azureacr-azure aciRajesh Kolla
 

Similar to Central Iowa Linux Users Group: November Meeting -- Container showdown (20)

Docker Dojo
Docker DojoDocker Dojo
Docker Dojo
 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
 
Docker
DockerDocker
Docker
 
Docker - the what why and hows
Docker - the what why and howsDocker - the what why and hows
Docker - the what why and hows
 
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cDocker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
 
Containers 101
Containers 101Containers 101
Containers 101
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
Lightweight Virtualization Docker in Practice
Lightweight Virtualization Docker in PracticeLightweight Virtualization Docker in Practice
Lightweight Virtualization Docker in Practice
 
Docker - Hack Salem! - November 2014
Docker - Hack Salem! - November 2014Docker - Hack Salem! - November 2014
Docker - Hack Salem! - November 2014
 
Docker Security
Docker SecurityDocker Security
Docker Security
 
Docker Workshop
Docker WorkshopDocker Workshop
Docker Workshop
 
Django and Docker
Django and DockerDjango and Docker
Django and Docker
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken Cochrane
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
 
Using Docker in production: Get started today!
Using Docker in production: Get started today!Using Docker in production: Get started today!
Using Docker in production: Get started today!
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad Meetup
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad Meetup
 
presentation on Docker
presentation on Dockerpresentation on Docker
presentation on Docker
 
Docker.pptx
Docker.pptxDocker.pptx
Docker.pptx
 
Containers docker-docker hub-azureacr-azure aci
Containers docker-docker hub-azureacr-azure aciContainers docker-docker hub-azureacr-azure aci
Containers docker-docker hub-azureacr-azure aci
 

More from Andrew Denner

All about Time, or how to stop from going back to the future
All about Time, or how to stop from going back to the futureAll about Time, or how to stop from going back to the future
All about Time, or how to stop from going back to the futureAndrew Denner
 
CIALUG October 2022 linux news
CIALUG October 2022 linux newsCIALUG October 2022 linux news
CIALUG October 2022 linux newsAndrew Denner
 
January 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: GitJanuary 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: GitAndrew Denner
 
Local Kubernetes for Dummies: STLLUG March 2021
Local Kubernetes for Dummies: STLLUG March 2021Local Kubernetes for Dummies: STLLUG March 2021
Local Kubernetes for Dummies: STLLUG March 2021Andrew Denner
 
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...Andrew Denner
 
St Louis Linux Users Group Wireguard (for Fun and Networking)
St Louis Linux Users Group Wireguard (for Fun and Networking)St Louis Linux Users Group Wireguard (for Fun and Networking)
St Louis Linux Users Group Wireguard (for Fun and Networking)Andrew Denner
 
Central Iowa Linux Users Group: August 2020 Jupyter Lab
Central Iowa Linux Users Group: August 2020 Jupyter LabCentral Iowa Linux Users Group: August 2020 Jupyter Lab
Central Iowa Linux Users Group: August 2020 Jupyter LabAndrew Denner
 
Central Iowa Linux Users Group June 2020 Meeting Apache Guacamole
Central Iowa Linux Users Group June 2020 Meeting  Apache GuacamoleCentral Iowa Linux Users Group June 2020 Meeting  Apache Guacamole
Central Iowa Linux Users Group June 2020 Meeting Apache GuacamoleAndrew Denner
 
A brief intro to Ansible-CIALUG March 2020
A brief intro to Ansible-CIALUG March 2020A brief intro to Ansible-CIALUG March 2020
A brief intro to Ansible-CIALUG March 2020Andrew Denner
 
Central Iowa Linux Users Group May 2020 Meeting: WireGuard
Central Iowa Linux Users Group May 2020 Meeting: WireGuardCentral Iowa Linux Users Group May 2020 Meeting: WireGuard
Central Iowa Linux Users Group May 2020 Meeting: WireGuardAndrew Denner
 
Central Iowa Linux Users Group-December 2019: Windows Managers
Central Iowa Linux Users Group-December 2019: Windows ManagersCentral Iowa Linux Users Group-December 2019: Windows Managers
Central Iowa Linux Users Group-December 2019: Windows ManagersAndrew Denner
 
Central Iowa Linux Users Group October Meeting: Centos 8
Central Iowa Linux Users Group October Meeting: Centos 8Central Iowa Linux Users Group October Meeting: Centos 8
Central Iowa Linux Users Group October Meeting: Centos 8Andrew Denner
 
A Brief overview of Linux, or How I learned to stop worrying and love the pen...
A Brief overview of Linux, or How I learned to stop worrying and love the pen...A Brief overview of Linux, or How I learned to stop worrying and love the pen...
A Brief overview of Linux, or How I learned to stop worrying and love the pen...Andrew Denner
 
August CIALUG meeting: Debian buster
August CIALUG meeting: Debian busterAugust CIALUG meeting: Debian buster
August CIALUG meeting: Debian busterAndrew Denner
 
Central Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry Pi
Central Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry PiCentral Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry Pi
Central Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry PiAndrew Denner
 
CIALUG June 2019: Raspberry Pi Facial Recognition
CIALUG June 2019: Raspberry Pi Facial RecognitionCIALUG June 2019: Raspberry Pi Facial Recognition
CIALUG June 2019: Raspberry Pi Facial RecognitionAndrew Denner
 
CIALUG May 2019 Meeting: An intro to docker and using rootless docker
CIALUG May 2019 Meeting: An intro to docker and using rootless dockerCIALUG May 2019 Meeting: An intro to docker and using rootless docker
CIALUG May 2019 Meeting: An intro to docker and using rootless dockerAndrew Denner
 
July 18, 2018 Central Iowa Linux User's Group: Tor onion services
July 18, 2018 Central Iowa Linux User's Group: Tor onion servicesJuly 18, 2018 Central Iowa Linux User's Group: Tor onion services
July 18, 2018 Central Iowa Linux User's Group: Tor onion servicesAndrew Denner
 

More from Andrew Denner (20)

All about Time, or how to stop from going back to the future
All about Time, or how to stop from going back to the futureAll about Time, or how to stop from going back to the future
All about Time, or how to stop from going back to the future
 
CIALUG October 2022 linux news
CIALUG October 2022 linux newsCIALUG October 2022 linux news
CIALUG October 2022 linux news
 
January 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: GitJanuary 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: Git
 
Cialug August 2021
Cialug August 2021Cialug August 2021
Cialug August 2021
 
Local Kubernetes for Dummies: STLLUG March 2021
Local Kubernetes for Dummies: STLLUG March 2021Local Kubernetes for Dummies: STLLUG March 2021
Local Kubernetes for Dummies: STLLUG March 2021
 
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
 
St Louis Linux Users Group Wireguard (for Fun and Networking)
St Louis Linux Users Group Wireguard (for Fun and Networking)St Louis Linux Users Group Wireguard (for Fun and Networking)
St Louis Linux Users Group Wireguard (for Fun and Networking)
 
Central Iowa Linux Users Group: August 2020 Jupyter Lab
Central Iowa Linux Users Group: August 2020 Jupyter LabCentral Iowa Linux Users Group: August 2020 Jupyter Lab
Central Iowa Linux Users Group: August 2020 Jupyter Lab
 
Central Iowa Linux Users Group June 2020 Meeting Apache Guacamole
Central Iowa Linux Users Group June 2020 Meeting  Apache GuacamoleCentral Iowa Linux Users Group June 2020 Meeting  Apache Guacamole
Central Iowa Linux Users Group June 2020 Meeting Apache Guacamole
 
A brief intro to Ansible-CIALUG March 2020
A brief intro to Ansible-CIALUG March 2020A brief intro to Ansible-CIALUG March 2020
A brief intro to Ansible-CIALUG March 2020
 
Central Iowa Linux Users Group May 2020 Meeting: WireGuard
Central Iowa Linux Users Group May 2020 Meeting: WireGuardCentral Iowa Linux Users Group May 2020 Meeting: WireGuard
Central Iowa Linux Users Group May 2020 Meeting: WireGuard
 
Central Iowa Linux Users Group-December 2019: Windows Managers
Central Iowa Linux Users Group-December 2019: Windows ManagersCentral Iowa Linux Users Group-December 2019: Windows Managers
Central Iowa Linux Users Group-December 2019: Windows Managers
 
Central Iowa Linux Users Group October Meeting: Centos 8
Central Iowa Linux Users Group October Meeting: Centos 8Central Iowa Linux Users Group October Meeting: Centos 8
Central Iowa Linux Users Group October Meeting: Centos 8
 
Intro to networking
Intro to networkingIntro to networking
Intro to networking
 
A Brief overview of Linux, or How I learned to stop worrying and love the pen...
A Brief overview of Linux, or How I learned to stop worrying and love the pen...A Brief overview of Linux, or How I learned to stop worrying and love the pen...
A Brief overview of Linux, or How I learned to stop worrying and love the pen...
 
August CIALUG meeting: Debian buster
August CIALUG meeting: Debian busterAugust CIALUG meeting: Debian buster
August CIALUG meeting: Debian buster
 
Central Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry Pi
Central Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry PiCentral Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry Pi
Central Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry Pi
 
CIALUG June 2019: Raspberry Pi Facial Recognition
CIALUG June 2019: Raspberry Pi Facial RecognitionCIALUG June 2019: Raspberry Pi Facial Recognition
CIALUG June 2019: Raspberry Pi Facial Recognition
 
CIALUG May 2019 Meeting: An intro to docker and using rootless docker
CIALUG May 2019 Meeting: An intro to docker and using rootless dockerCIALUG May 2019 Meeting: An intro to docker and using rootless docker
CIALUG May 2019 Meeting: An intro to docker and using rootless docker
 
July 18, 2018 Central Iowa Linux User's Group: Tor onion services
July 18, 2018 Central Iowa Linux User's Group: Tor onion servicesJuly 18, 2018 Central Iowa Linux User's Group: Tor onion services
July 18, 2018 Central Iowa Linux User's Group: Tor onion services
 

Recently uploaded

Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Lucknow
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一3sw2qly1
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 

Recently uploaded (20)

Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 

Central Iowa Linux Users Group: November Meeting -- Container showdown

  • 2. Linux Container Showdown Andrew Denner Central Iowa Linux Users Group November Meeting
  • 3. Welcome to LUG Meetings are on the third Wednesday of every month We have a website! http://www.cialug.org List Server IRC/Slack
  • 5. About our presenter • Some say that he has no face, all we know is that he is the presenter…
  • 6. About me (in all seriousness) • I write code, sometimes have to dabble in devops and by night I do linuxy things • These statements are my own, not those of anyone else including my employer and the commissioner of baseball • Twitter: adenner • Slides will be posted to http://denner.co
  • 7. On with the show The Linux Container showdown
  • 9.
  • 10.
  • 11.
  • 12.
  • 14. chroot • 1979 chroot on version 7 • “A chroot on Unix operating systems is an operation that changes the apparent root directory for the current running process and its children. A program that is run in such a modified environment cannot name files outside the designated directory tree.” –Wikipedia • It isn’t perfect
  • 15. Demo • J=$HOME/jail • mkdir -p $J • mkdir -p $J/{bin,lib64,lib} • mkdir $J/lib/x86_64-linux-gnu/ • cd $J • cp -v /bin/{bash,ls} $J/bin • ldd /bin/bash • list="$(ldd /bin/bash | egrep -o '/lib.*.[0-9]')"; for i in $list; do cp -v "$i" "${J}${i}"; done • list="$(ldd /bin/ls | egrep -o '/lib.*.[0-9]')"; for i in $list; do cp -v "$i" "${J}${i}"; done • chroot $J /bin/bash • ls /
  • 16. Demo
  • 17. BSD Jails First in 1999 Free BSD by Poul- Henning Kamp after use in a small hosting company Achieved three goals: Virtualization Security Ease of Delagation Each jail is custom rolled/built Single point of failure
  • 18. Solaris Zones First relased 2004 in build 51 beta of Solaris 10 Can control what resources each zone gets and also can just give a fair share Still present in Illumonos (Open Solaris) and Solaris
  • 19. openVZ • Open Virtuozzo • Soft memory allocation, can be shared if not being used • Old versions used chroot based disk isolation. Current version lets each container have it’s own file system • Requires Custom Kernel providing: • Virtualization • Isolation • Resource Management • checkpointing
  • 20. LXC • Uses Linux cgroups and other namespace isolations • Much like jails • Works with the vanilla kernel unlike openVZ • Orriginally docker used
  • 22. Docker • Opensourced in 2013 • Building on the previous ideas • Image ecosystem • More ephemeral and portable across machines • Versioning • Overlayfs • Downsides: still single point of failure • Dockerd root—security concerns
  • 23.
  • 24.
  • 25.
  • 26.
  • 28.
  • 29. Rootless Docker • Thanks to Akihiro Suda of NTT Corp for all his work • See https://www.slideshare.net/AkihiroSuda/dockercon- 2019-hardening-docker-daemon-with-rootless-mode for deep dive • Works as sub-user and sub-group ids • Overlay fs doesn’t work yet • Can’t use protected ports • https://www.katacoda.com/courses/docker/rootless
  • 30. CNCF • In the beginning there was docker… • Then came others and the CNCF is the vender nuteral home for the plumbing that runs containers • It is a part of the linux foundation • Think of like apache but for containerization • Home to • Kubernetes • Prometheus • Envoy • Containerd • Et. al.
  • 31.
  • 32. Pouch • https://pouchcontainer.io • From Alibaba Group • Never had heard of them before • Distributes images via Dragonfly p2p • Rich container mode more hooks and magic available
  • 33. Kata Containers • Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs. • https://katacontainers.io
  • 34.
  • 35. Moby https://mobyproject.org An open framework to assemble specialized container systems without reinventing the wheel. Not for mere mortals
  • 36.
  • 37. Docker Compose • Yaml tool for defining and running multiple docker applications at the same time • Useful for: • dev environments • Automated test environments • Single host deployments
  • 38.
  • 39. Docker Swarm Joins a Pool of docker hosts into one virtual host YAML based definitions Networking via an overlay network Easier to set up than a K8 cluster
  • 41. Kubernetes • Originally designed by Google engineers –Borg • Orchestrate containers across multiple hosts. • Make better use of hardware to maximize resources needed to run your enterprise apps. • Control and automate application deployments and updates. • Mount and add storage to run stateful apps. • Scale containerized applications and their resources on the fly. • Declaratively manage services, which guarantees the deployed applications are always running how you deployed them. • Health-check and self-heal your apps with autoplacement, autorestart, autoreplication, and autoscaling.
  • 42.
  • 43. K3s • Kubernetes abrieated is K8… 5 less than that is k3s • K8 but only the good parts all in less than 40mb • Still rather experimental • Got rid of Legacy alpha and non-default code removed • Removed most in-tree plugins • Use sqlite 3 rather than etcd by default • Simple launcher
  • 44. K3s cont. • Minimal requirements, leverages • containerd • Flannel • CoreDNS • CNI • Host utilities (iptables, socat, etc) • Install from https://github.com/rancher/k3s • Demo: https://asciinema.org/a/k6lHGEZ65 le2rxm5giAxJOR7C
  • 45. Podman • New in Centos 8 • See presentation last month • Biggest thing to note is no need for the docker damon • Can handle Rootless same as docker, with same shortcomings • https://asciinema.org/a/oDxbleQ4q0ww6 WpS46JUy1dt0
  • 46.
  • 47. Buildah • Container management and build program • Can build and use CNF protable images without a local docker • Better control of image layers • Ability to build images via bash • As well as building dockerfile images • Demo: https://asciinema.org/a/peZtZjTkeZHtUm AN5AdnWPp2i • https://asciinema.org/a/V4NZWIdV83CcOP DW4favh4vi3

Editor's Notes

  1. https://xkcd.com/2221/
  2. Cattle vs Pets Bill Baker 2012
  3. You wouldn’t do this to your pet…
  4. If you are root you can escape It doesn’t handle non file system isolations, i.e. processes etc
  5. https://www.cyberciti.biz/faq/unix-linux-chroot-command-examples-usage-syntax/
  6. Virtualization: Each jail is a virtual environment running on the host machine with its own files, processes, user and superuser accounts. From within a jailed process, the environment is almost indistinguishable from a real system. Security: Each jail is sealed from the others, thus providing an additional level of security. Ease of delegation: The limited scope of a jail allows system administrators to delegate several tasks which require superuser access without handing out complete control over the system
  7. Kubernetes- Orchestration Prometheus monitoring Envoy network proxy Core dns service discovery Containerd Fluentd logging Jaeger distributed tracing Vitess storage
  8. Daemon that manages complete lifecycle from image transfer and storage to execution and storage and beyond
  9. It is a drop in additional OCI compatible container runtime, which can therefore be used with Docker and Kubernetes.
  10. Redhat openshift Ranchr