Docker is
Dead
Long live Containers
PRESENTED BY:
Chris Tankersley
Senior Developer Advocate
@dragonmantank
Docker
Image: https://devopedia.org/docker
VONAGE CONFIDENTIAL
Open Container
Initiative
https://opencontainers.org/
What's a Container?
VONAGE CONFIDENTIAL
"The Container
is a Lie!"
Larry Garfield
https://presentations.garfieldtech.com/slides-containers-lie/jak
artatechtalks2021/#/
VONAGE CONFIDENTIAL
Set of systems and configurations
to restrict what a process (or set of
processes) can see
VONAGE CONFIDENTIAL
What can we
isolate?
● Single Process Isolation
● System Level Isolation
VONAGE CONFIDENTIAL
It's not just
Docker
● BSD Jails
● chroot
● Solaris Zones
● OpenVZ
● Docker
● Kubernetes
● LXC
● podman
VONAGE CONFIDENTIAL
Why did Docker
"win"?
And why is it now "losing"?
podman
"We have Docker at home"
VONAGE CONFIDENTIAL
What is
podman?
● Container engine maintained by Red
Hat
● Designed as a replacement for the
Docker daemon and command
library
● Additional tools to handle Compose
VONAGE CONFIDENTIAL
Installation
VONAGE CONFIDENTIAL
Installation
VONAGE CONFIDENTIAL
Installation
VONAGE CONFIDENTIAL
Familiar Interface
VONAGE CONFIDENTIAL
Additional Image Repositories
VONAGE CONFIDENTIAL
Almost like Docker Compose
VONAGE CONFIDENTIAL
Almost like Docker Compose
VONAGE CONFIDENTIAL
Almost like Docker Compose
VONAGE CONFIDENTIAL
Almost like Docker Compose
Coupon Code: 23GMRPQH
VONAGE CONFIDENTIAL
Why use
podman?
● No centralized daemon
● Designed for "rootless" usage
● Lots of Docker compatibility
● Additional image repositories
● Red Hat has a better history of
Open Source
AppImage
Flatpak
Snap
"Eww, my container is all GUI"
VONAGE CONFIDENTIAL
Apps have
problems too
● Solve the dependency
problem for developers
● Increase security for apps
● Make app distribution easier
VONAGE CONFIDENTIAL
Flatpak
● Created by Canonical
● Allows proprietary
packages
● Gated by a proprietary
store controlled by
Canonical
● Allows CLI apps
● Seem to be less
performant than Flatpak
or AppImage
AppImage Snap
● Developed by Simon
Peter
● Distribution independent
● Re-create the "exe" or
macOS "app" experience
● Uses a single repository
● Fully self-contained
● Slow updates
● Managed by Red Hat
● Designed as a
"Sandbox-First" solution
for security
● Allows for multiple
repositories
● Designed for GUI apps
● Larger distribution sizes
VONAGE CONFIDENTIAL
Though it's still
a bit rough
● Locked to the libraries that come in
the image/container
● Some, like VSCode, take some
additional setup compared to
"install and work"
● Inconsistent ways to handle the
same issue in different container
formats
LXC
"It's OK to install sshd in this"
VONAGE CONFIDENTIAL
When you want
to run multiple
processes
● Part of a suite of tools
from linuxcontainers.org
● Container that allows
multiple processes to
run inside
● Looks and acts more like
a Virtual Machine, but
without the overhead
VONAGE CONFIDENTIAL
Install
VONAGE CONFIDENTIAL
Set up LXD
VONAGE CONFIDENTIAL
Create and enter the container
VONAGE CONFIDENTIAL
Why this over
single-process
containers?
● Lightweight
development
environments
● Large application
deployments that
conflict with the host
● "Lightweight"
virtualization (Proxmox)
toolbox
"What if SCL actually worked?"
VONAGE CONFIDENTIAL
Huh?
https://github.com/containers/toolbox
● CLI tools for making
development environments
● Tight integration with the
host OS
● Technically distro-agnostic
● Uses podman and OCI
standards
VONAGE CONFIDENTIAL
Why?
● SCL (Software Collection
Libraries) sucks to work
with
● Development environments
are usually systems, not
just processes
● Developers need more than
one environment
VONAGE CONFIDENTIAL
Create a toolbox
VONAGE CONFIDENTIAL
Enter the toolbox
VONAGE CONFIDENTIAL
It's just a container!
VONAGE CONFIDENTIAL
Though it's still
a bit rough
● Locked to the libraries that come in
the image/container
● Some, like VSCode, take some
additional setup compared to
"install and work"
● Living inside of a container can be
both restrictive as well as freeing
Fedora Silverblue
[Insert slide about Flatpaks and toolbox]
VONAGE CONFIDENTIAL
Mission
Statement
https://silverblue.fedoraproject.org/about
"However, unlike other operating
systems, Silverblue is immutable. This
means that every installation is identical
to every other installation of the same
version. [...]
Silverblue's immutable design is intended
to make it more stable, less prone to
bugs, and easier to test and develop.
Finally, Silverblue's immutable design
also makes it an excellent platform for
containerized applications as well as
container-based software development."
VONAGE CONFIDENTIAL
In the real
world
● The base OS Partitions (except your
home folders) are read-only
● Prefer flatpaks (or AppImage) to
RPMs
● Work is handled inside containers
via toolbox or flatpaks
● OS Updates are handled via image
updates
VONAGE CONFIDENTIAL
Containers
are the
future
VONAGE CONFIDENTIAL
Thank you!
Any Questions?
VONAGE CONFIDENTIAL 50
Chris Tankersley
Senior Developer Advocate at
Vonage
@dragonmantank
@dragonmantank@php.social
chris.tankersley@vonage.com
VONAGE CONFIDENTIAL 51
Chris Tankersley
Senior Developer Advocate at
Vonage
@dragonmantank
@dragonmantank@php.social
chris.tankersley@vonage.com
VONAGE CONFIDENTIAL 52
Chris Tankersley
Senior Developer Advocate at
Vonage
@dragonmantank
@dragonmantank@php.social
chris.tankersley@vonage.com

Docker is Dead: Long Live Containers