Slide 1

Slide 1 text

How to start with docker Toni Van de Voorde CTO @ Adlogix.eu / Adsdaq.eu @tonivdv Unconference

Slide 2

Slide 2 text

Setup • Native on linux • Docker for Mac/Windows • Docker toolbox

Slide 3

Slide 3 text

Docker For Mac • Pros • “Native” approach • No virtualbox (uses lightweight virtualization of mac-os hypervisor framework) • Nice UX • Cons • Shares without NFS • Only 1 virtual machine

Slide 4

Slide 4 text

Docker Toolbox • Pros • Easy NFS support with docker-machine-nfs (OSX only) • Not only 1 virtual machine • Use whatever hypervisor you love (virtualbox, xhyve, parallel, vmware, …) • Cons • Less UX ?

Slide 5

Slide 5 text

Docker Machine Tips Configure ip range per different box dm create \ -d virtualbox --virtualbox-hostonly-cidr "192.168.70.1/24" --virtualbox-disk-size "10000" docker-test

Slide 6

Slide 6 text

Docker Machine Tips Embrace speed by activating NFS brew install docker-machine-nfs $ docker-machine-nfs docker-test https://github.com/adlogix/docker-machine-nfs

Slide 7

Slide 7 text

General Tips • Dnsmasq + jwilder’s nginx-proxy • Define your services with docker-compose • Don’t put sensitive data in the images (ssh keys etc) • Still be careful with case sensitivity

Slide 8

Slide 8 text

How to with ssh? • Mount to container volumes: - ~/.ssh:/root/.ssh • SSH Agent • (hack) Copy to “volume” docker run --rm --name ssh-data -v my-ssh-data:/root/.ssh –v ${USER_PRIVATE_KEY}:/root/.host-ssh:ro busybox sh -c 'cp ~/.host-ssh/* ~/.ssh && chown -R root:root ~/.ssh && chmod -R 400 ~/.ssh’ docker run –v my-ssh-data:/root/.ssh composer ...

Slide 9

Slide 9 text

Make cli-commands #!/bin/bash cd $(dirname "$0") docker-compose run --rm composer "$@” #!/bin/bash cd $(dirname "$0") docker-compose run --rm php-cli php "$@"

Slide 10

Slide 10 text

Demo

Slide 11

Slide 11 text

Questions?