Slide 1

Slide 1 text

By Christopher Rigor, Engine Yard docker containers Deep Dive Into For Rails Developers

Slide 2

Slide 2 text

Deep dive

Slide 3

Slide 3 text

containers Docker

Slide 4

Slide 4 text

RAILS DEVELOPERS

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Why use containers Running Containers in production Container internals

Slide 8

Slide 8 text

DEPLOY
 your Rails app in a container

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Install Ruby Install packages copy your code
 Install gems Precompile assets

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Containers are…

Slide 13

Slide 13 text

1 lightweight vms

Slide 14

Slide 14 text

CHROOT ON STERIODS 2

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

namespaces + CGROUPS 3

Slide 17

Slide 17 text

container runtimes Lxc Docker Rkt Systemd-Nspawn

Slide 18

Slide 18 text

ILLUSION

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

PID name space

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

MOUNT name space

Slide 23

Slide 23 text

root@295833c74fd0:/# ls -l /dev/xvda ls: cannot access '/dev/xvda': No such file or directory

Slide 24

Slide 24 text

user name space

Slide 25

Slide 25 text

NETwork name space

Slide 26

Slide 26 text

NETwork name spaces PID Mount User UTS CGroup IPC

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

CGROUPS

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

PROCESSES 4

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

container Security

Slide 33

Slide 33 text

APP ARMOR

Slide 34

Slide 34 text

capabilities

Slide 35

Slide 35 text

seccomp

Slide 36

Slide 36 text

Running containers in production

Slide 37

Slide 37 text

containers in production Namespaces + Cgroups

Slide 38

Slide 38 text

containers in production Container Runtime Namespaces + Cgroups

Slide 39

Slide 39 text

containers in production Container Runtime Namespaces + Cgroups

Slide 40

Slide 40 text

containers in production Orchestration Container Runtime Namespaces + Cgroups

Slide 41

Slide 41 text

containers in production Orchestration Container Runtime Namespaces + Cgroups

Slide 42

Slide 42 text

Install Ruby Install packages copy your code
 Install gems Precompile assets

Slide 43

Slide 43 text

containers in production Platform Orchestration Container Runtime Namespaces + Cgroups

Slide 44

Slide 44 text

containers in production Platform Orchestration Container Runtime Namespaces + Cgroups

Slide 45

Slide 45 text

DEPLOY
 your Rails app in a container

Slide 46

Slide 46 text

- @crigor Thank you!

Slide 47

Slide 47 text

Party The Duce 525 S Central ave