virli/tutorial/1/installation.md
2017-09-22 10:27:48 +02:00

2.8 KiB

\newpage

Installation

Prérequis

Docker repose sur plusieurs techniques implémentés dans les récents noyaux Linux. Nous consacrerons les prochains cours à comprendre leurs fonctionnement. Ces techniques ne sont pas limitées à une architecture de microprocesseur spécifique (comme peuvent l'être les instructions de virtualisation nécessaire pour rendre les hyperviseurs attractifs) ; cependant la communauté autour de Docker utilisant principalement l'architecture amd64, c'est sur cette dernière que Docker pourra être exploité à son plein potentiel.

Avant de continuer, assurez-vous que votre machine a bien démarré sur un noyau 64 bits. Le retour de la commande uname -m doit vous indiquer :

x86_64

Assurez-vous également d'avoir un noyau récent, avec la commande uname -r :

4.7.2-gentoo

Vous ne pourrez pas utiliser Docker avec un noyau antérieur à la version 3.10.

Par le gestionnaire de paquets

En général, votre distribution mettra à votre disposition une version de Docker plus ou moins récente. Sous Debian et ses dérivés (Ubuntu, Mint, ...) le paquet a été nommé docker.io.

Si dans un environnement de production, on préférera sans doute utiliser une version déjà bien éprouvée, pour ce cours, nous allons avoir besoin de la dernière version disponible. Référez-vous à la documentation officielle correspondant à votre distribution :

https://docs.docker.com/engine/installation/linux/

Installez également le paquet docker-compose.

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.12.1
 API version:  1.24
 Go version:   go1.7
 Git commit:   23cf638
 Built:
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.7
 Git commit:   23cf638
 Built:
 OS/Arch:      linux/amd64

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/engine/security/security/#docker-daemon-attack-surface

Rendu

Questions

  1. Dans quel langage Docker a-t-il été écrit ?

  2. 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.