Slide 1

Slide 1 text

Jacob Tomlinson Senior Developer / Engineer

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Docker

Slide 4

Slide 4 text

$ docker run mongo

Slide 5

Slide 5 text

$ docker run -d --name mongo1 --restart always -- log-driver=syslog --log-opt address=tcp:// 192.168.0.42:123 -v /data/:/data/ -v /home/me/file:/ file -p 27017: 27017 mongo

Slide 6

Slide 6 text

#!/bin/bash docker run -d --name mongo1 --restart always --log-driver=syslog --log- opt address=tcp://192.168.0.42:123 -v /data/:/data/ -v /home/me/file:/file - p 27017: 27017 mongo docker run -d --name webapp1 --restart always --log-driver=syslog --log- opt address=tcp://192.168.0.42:123 -v /home/me/file:/file -p 8000: 8000 myorg/webapp docker run -d --name webapp2 --restart always --log-driver=syslog --log- opt address=tcp://192.168.0.42:123 -v /home/me/file:/file -p 8001: 8000 myorg/webapp docker run -d --name webapp3 --restart always --log-driver=syslog --log- opt address=tcp://192.168.0.42:123 -v /home/me/file:/file -p 8002: 8000 myorg/webapp docker run -d --name nginx --restart always --log-driver=syslog --log-opt address=tcp://192.168.0.42:123 -p 80: 80 nginx

Slide 7

Slide 7 text

Shipyard

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Describe

Slide 11

Slide 11 text

Pods

Slide 12

Slide 12 text

apiVersion: v1 kind: Pod metadata: name: mongo spec: containers: - name: mongo image: mongo ports: - containerPort: 27017

Slide 13

Slide 13 text

apiVersion: v1 kind: Pod metadata: name: mongo spec: containers: - name: mongo image: mongo ports: - containerPort: 27017

Slide 14

Slide 14 text

Replication

Slide 15

Slide 15 text

apiVersion: v1 kind: ReplicationController metadata: name: webapp spec: replicas: 3 managing selector: app: webapp template: metadata: labels: app: webapp spec: containers: - name: webapp image: myorg/webapp ports: - containerPort: 8000

Slide 16

Slide 16 text

apiVersion: v1 kind: ReplicationController metadata: name: webapp spec: replicas: 3 managing selector: app: webapp template: metadata: labels: app: webapp spec: containers: - name: webapp image: myorg/webapp ports: - containerPort: 8000

Slide 17

Slide 17 text

apiVersion: v1 kind: ReplicationController metadata: name: webapp spec: replicas: 3 managing selector: app: webapp template: metadata: labels: app: webapp spec: containers: - name: webapp image: myorg/webapp ports: - containerPort: 8000

Slide 18

Slide 18 text

apiVersion: v1 kind: ReplicationController metadata: name: webapp spec: replicas: 3 managing selector: app: webapp template: metadata: labels: app: webapp spec: containers: - name: webapp image: myorg/webapp ports: - containerPort: 8000

Slide 19

Slide 19 text

Services

Slide 20

Slide 20 text

apiVersion: v1 kind: Service metadata: name: nginx-service spec: ports: - port: 8000 targetPort: 80 protocol: TCP selector: app: nginx

Slide 21

Slide 21 text

apiVersion: v1 kind: Service metadata: name: nginx-service spec: ports: - port: 8000 targetPort: 80 protocol: TCP selector: app: nginx

Slide 22

Slide 22 text

Fail Fast, Fail Cheap

Slide 23

Slide 23 text

Cattle Not Pets

Slide 24

Slide 24 text

Stateless Applications

Slide 25

Slide 25 text

Forced

Slide 26

Slide 26 text

Scalability

Slide 27

Slide 27 text

Patching? Host problems?

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

Embrace

Slide 30

Slide 30 text

www.informaticslab.co.uk www.jacobtomlinson.co.uk @_jacobtomlinson Questions?