Docker at the HomeOfficeBillie Thompson@PurpleBoothhttps://github.com/PurpleBooth/flappy-endpoint - Examples!
View Slide
BillieThompson@PurpleBoothDeveloper & ReluctantDevOps
–Docker“Docker is an open platform for developing,shipping, and running applications. Dockeris designed to deliver your applicationsfaster.”
–Docker“Docker […] makes use of anothertechnology called cgroups or controlgroups. A key to running applications inisolation is to have them only use theresources you want.”
What is docker?Linux Kernel
How do you run acontainer?$ docker run \--name=“flappy” \-p “80:80" \quay.io/purplebooth/flappy-endpoint
Finding containers• registry.hub.docker.com (Sort by Stars)• Websites of software you’re using• Quay.io
How do you make acontainer
What is docker?FROM
What is docker?FROMCOPY
What is docker?FROMCOPYCOPY
What is docker?FROMCOPYCOPYRUN
What is docker?FROMCOPYCOPYRUNquay.io/purplebooth/flappy-endpoint:latest
Continuous Integration• Your artefact is now a container• Online build servers• https://hub.docker.com/• https://quay.io/repository/
12 Factor• http://12factor.net/• Key changes to your app:• Log to STDOUT• Configure using Environment variables
Docker is awesome but howto manage
Docker is awesome but howto manage?
Work like us• What and how we reuse things• Think like a platform• Work Securely
Things We Reuse• Reuse Code• Reuse Containers• Reuse Environments
The worlds most successfulcode reuse project• Work openly• Open source• Be Good People
Being a good person(inside and out)• Version stuff (SemVer)• Write Beautiful Documentation• License• Code of Conduct
Thinking like a Platform• Jira• Git• File Hosting
Thinking like a PaaS• AWS + Kubernetes• CoreOS on AWS (with Kubernetes)• Google Container Engine (Kubernetes)• Vagrant + Kubernetes• KUBERNETES!
Work Securely• Use WAF Containers• Control your upstream containers!• Physical separation (sometimes)
Any Questions!@purplebooth• https://billie.codes/1MXEtRc - Kubernets on Vagrant• https://github.com/PurpleBooth/flappy-endpoint• https://ukhomeoffice.github.io/