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_tFROM debian:jessie/etc/ssl (Debian) vs /etc/pki (Fedora)httpd_t?/usr is mounted read-only always/etc - Ansible worksearly-docker.serviceMustRunAsNonRoot vs signing and vs setuid binaries!=0 is scary