«Tour d'horizon»
Julien Fusco
github.com/Koin
twitter.com/PKoin
Docker Inc., anciennement dotCloud.
October 29, 2013
Fournisseur de PaaS «Platform as a Service»
Système de cloisonnement : chroot on steroids!
Partagent le même noyau
Virtualisent l'env d'exécution (Processeur, mémoire, réseau, système de fichier, ...) et non pas de la machine
conteneur == virtualisation légère != machine virtuelle
Merci les namespaces !
Isolation des processus, points de montage, interfaces réseaux, utilisateurs, ...
Merci les cgroups !
Limitation des ressources (RAM, CPU) pour un groupe de processus
Fusion de deux hiérarchies de répertoires :
Ubuntu 12.04 (LTS) (64-bit)
$ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
$ sudo reboot
$ # Coffeeeee time!
$ sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"
$ sudo sh -c "echo deb http://get.docker.io/ubuntu docker main\
> /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install lxc-docker
LXC non disponible
boot2docker + Docker OS X Client
$ brew install boot2docker
$ boot2docker init
$ boot2docker up
$ echo "export DOCKER_HOST='tcp://localhost:4243'" >> ~/.zshrc
$ for i in {49000..49900}; do
VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i";
VBoxManage modifyvm "boot2docker-vm" --natpf1 "udp-port$i,udp,,$i,,$i";
done
$ docker run ubuntu /bin/echo hello world
« C'est un cahier listant les actions à réaliser pour construire une image »
FROM ubuntu:latest
# Add 10gen official apt source to the sources list
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/10gen.list
# Install MongoDB
RUN apt-get update
RUN apt-get install mongodb-10gen
# Create the MongoDB data directory
RUN mkdir -p /data/db
ENTRYPOINT ["usr/bin/mongod"]
Exécution
$ docker build -t PKoin/mongodb .
$ docker run -d -p 49100:27017 PKoin/mongodb
Julien Fusco
github.com/Koin
twitter.com/PKoin