% http://fr.slideshare.net/jpetazzo
Architecture, architecture...
Docker est un truc qui permet d'exécuter n'importe quel machin sur n'importe quelle machine, mais il y a -quand même- des restrictions...
Les développeurs de Docker mettent le paquet sur l'architecture 64 bits "AMD64/x86_64". Donc si vous avez une archi 32 bits "i386" ou 64 bits "i686", vous pouvez faire tourner ça dans une machine virtuelle AMD64.
Pour connaître votre archi sous Linux
uname -m
Avec Vagrant : ça fonctionne
(Remarque : à partir de la version 1.6, vagrant fait ça tout seul avec le provider "docker")
Si vous n'avez pas une architecture AMD64, bah on va installer une machine virtuelle prête pour Docker.
Allez sur http://vagrantbox.es ; chercher "docker" et choisir la box que vous voulez
dans un répertoire de travail, genre ~/vagrant
vagrant init docker https://oss-binaries.phusionpassenger.com/vagrant/boxes/latest/ubuntu-14.04-amd64-vbox.box vagrant up vagrant ssh
Pour les détails sur comment ça marche 'vagrant', il y a l'internet ;)
Avec VirtualBox - j'ai pas essayé
Une image ISO d'Ubuntu 14.04, architecture AMD64.
wget http://cdimage.ubuntu.com/releases/14.04/release/ubuntu-14.04-desktop-amd64+mac.iso
Installez tout comm'y faut avec VirtualBox et entrez dedans.
Dans un ordi AMD64 / une machine virtuelle AMD64 (ici, avec Ubuntu 14.04)
Installation de Docker
Dans un 'vagrant ssh' (Ubuntu ; AMD64) / VirtualBox / un ordi AMD64
sudo apt-get update sudo apt-get install docker.io sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
Qui peut utiliser Docker ? (Ubuntu 14.04)
Au départ, seul root a le droit d'utiliser docker comme il veut
$ docker pull phusion/baseimage ... Post http:///var/run/docker.sock/images/create ... dial unix /var/run/docker.sock: permission denied
On peut rajouter des gens dans le groupe docker, et du coup ils ont le droit aussi
sudo groupadd docker sudo gpasswd -a ${USER} docker
Et sortir (Ctrl+d) / rentrer ('vagrant ssh') (ou fermer la session / rebooter sur une vraie machine)
Une première image : ubuntu ou phusion/baseimage
Pour avoir une image de base qui fait tout bien comme il faut, on peut utiliser 'ubuntu', ou 'phusion/baesimage' (voir https://registry.hub.docker.com/u/phusion/baseimage/)
sudo docker pull ubuntu
ou
sudo docker pull phusion/baseimage
dans '~/VirtualBox VMs' ça prend 3.2G
Sur internet : quel hébergeur ?
Hébergeur : digital ocean
Pro tips
https://gist.github.com/jpetazzo/6127116
Docker Kill All
docker kill $(docker ps -a -q)
Clean ps
docker ps -a | awk '{print $1}' | xargs docker rm
Restart last container
docker start -i $(docker ps -lq)
Copy a file into a container
monter un volume...
Eviter les forkbomb
modifier /etc/init/docker.conf service docker restart