Slide 1

Slide 1 text

for very fast feedback loops

Slide 2

Slide 2 text

physical servers ● 4w to order ● 1w to install operating system ● 2d to re-install manually / 2h automated virtual servers ● 2d to re-install manually / 2h automated docker ● 1s to re-install

Slide 3

Slide 3 text

DOCKER_HOST=tcp://127.0.0.1:2375 ● start in a minute (hint: use vagrant) vagrant init yungsang/boot2docker vagrant up ● edit code in OS X / Win ● execute in clean Linux ● rinse - repeat ● very fast manual testing environments boot2docker

Slide 4

Slide 4 text

docker volumes docker help run -v, --volume=[] Bind mount a volume (e.g., from the host: -v /host:/container, from docker: -v /container) --volumes-from=[] Mount volumes from the specified container(s) ● test live-edited code ● multivariate testing (for foos/multi-platform/multi-customer) ● zero time deploy

Slide 5

Slide 5 text

sync or async docker help run -a, --attach=[] Attach to stdin, stdout or stderr. -d, --detach=false Detached mode: Run container in the background, print new container id --rm=false Automatically remove the container when it exits (incompatible with -d) ● parallel multivariate tests ● loop over synchronous tests for sut in centos:centos6 ubuntu:trusty; do docker run -v /tests:/tests $sut /tests/run.sh done

Slide 6

Slide 6 text

ready environments ● docker run dockerfile/… ○ ruby ○ python ○ nodejs / nodejs-bower-grunt ○ java

Slide 7

Slide 7 text

throw-away servers ● docker run devopsil/puppetmaster ● docker run dockerfile/… ○ elasticsearch ○ redis ○ mongodb ○ mariadb

Slide 8

Slide 8 text

● kitchen.ci + portertech/kitchen-docker --- driver: name: vagrant docker provisioner: name: chef_zero platforms: - name: ubuntu-13.04 - name: centos-6.5 suites: - name: client run_list: - recipe[postgresql::client] - name: server run_list: - recipe[postgresql::server] test kitchen

Slide 9

Slide 9 text

continuous integration ● your docker, their test hardware ○ circleci.com/docs/docker ○ shippable.com ● npmt.abru.pt - auto test for npms (using docker) ● wiki.jenkins-ci.org/display/JENKINS/Docker+Plugin

Slide 10

Slide 10 text

image auto-build hub.docker.com

Slide 11

Slide 11 text

quay.io - private image repo

Slide 12

Slide 12 text

link to slides dvps.me/docker-rapid-feedback

Slide 13

Slide 13 text

Thank you! We invite you to join Operations Israel Facebook group on on.fb.me/Ops-IL www.devops.co.il