2.7 KiB
\newpage
Installation
Par le gestionnaire de paquets
Sous Debian et ses dérivés (Ubuntu, Mint, ...) le paquet et la commande ont été
nommés docker.io
. Vous pouvez vous créer un alias alias docker=docker.io
si
celui-ci n'a pas déjà été défini.
Sous les autres distributions, docker
correspond a priori bien à la solution
de virtualisation légère que l'on va utiliser.
Debian Jessie
docker
se trouve dans les backports, ajouter-les à votre /etc/apt/sources.list
:
deb http://ftp.debian.org/debian/ jessie-backports main non-free contrib
Puis :
apt-get update
apt-get install docker.io
Debian Wheezy
Il vous faut utiliser le dépôt de paquets fourni par Docker :
apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
Ajoutez cette ligne dans votre /etc/apt/sources.list
:
deb https://apt.dockerproject.org/repo debian-wheezy main
Puis :
apt-get update
apt-get install docker-engine
Manuellement
L'équipe en charge de Docker met à disposition un script pour installer Docker sur n'importe quel système :
curl -sSL https://get.docker.com/ | sh
Vérifier la bonne marche de l'installation
Vous devriez maintenant être capable de lancer la commande suivante :
docker version
Une sortie similaire au bloc suivant devrait apparaître sur votre écran :
Client version: 1.3.3
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): d344625
OS/Arch (client): linux/amd64
Server version: 1.3.3
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): d344625
no such file or directory
?
Si vous avez cette erreur : dial unix /var/run/docker.sock: no such file or directory.
, le deamon n'est sans doute pas lancé. Lancez-le :
sudo service docker restart
permission denied
?
Si vous avez cette erreur : dial unix /var/run/docker.sock: permission denied.
, ajoutez votre utilisateur au groupe docker
et relancer votre
session :
sudo gpasswd -a $USER docker
Attention : cette action n'est pas anodine d'un point de vue sécurité : https://docs.docker.com/articles/security/#docker-daemon-attack-surface
Rendu
Questions
-
Dans quel langage Docker a-t-il été écrit ? Docker utilise la
libcontainer
afin d'avoir une couche d'abstraction des namespaces et des cgroups. Dois-je installer cette bibliothèque avant de recopier sur une nouvelle machine le binairedocker
(sans passer par le gestionnaire de paquets) ? Pourquoi ? -
Décrivez une méthode permettant à un utilisateur (non-root), présent dans le groupe
docker
, d'effectuer une action privilégiée impactant la machine hôte.