ContainerCon 2015
Colin Walters, Platform Engineering, Red Hat, Inc.
keybase.io/walters | walters@{redhat.com,verbum.org}
Effort to be useful and different is high
rpm/dpkg etc. all evolve to similar point
Problem domains tied together
Continuous Delivery is very different from CI
Management tools (Puppet/Ansible/OpenSCAP/CloudForms/System Center) are important
Common pattern: Take base distro as frozen set with security updates, move slowly on it, iterate on application
Distribution model not great at 3rd party app support (ABI guarantees etc.)
PaaS (on premise, online) primarily focused on "web app" languages (Java/dynlangs)
pid namespace, but not mount namespace
nginx cartrige not ergonomic
Dockerfile
makes diving into containers really easy:
Mash together rpm/dpkg + pip/cargo/rubygems/godeps +
config files/usr/bin/atomic
: A new command line tool for super-privileged containersRUN yum install -y lighttpd ...
/usr/bin/atomic
(super-privileged containers)FROM centos/debian:jessie
, xdg-app, sandstorm.io, ...svirt_lxc_net_t
type applies to all containers by default; MCS and kernel namespaces add separationhttpd_t
FROM debian:jessie
/etc/ssl
(Debian) vs /etc/pki
(Fedora)httpd_t
?/usr
is mounted read-only always/etc
- Ansible worksearly-docker.service
MustRunAsNonRoot
vs signing and vs setuid binaries!=0
is scary