virli/tutorial/docker-basis/installation.md
Pierre-Olivier Mercier 5f4880dc50 TP1 done
2020-09-21 23:48:16 +02:00

4.5 KiB

\newpage

Installation

Prérequis

Docker repose sur plusieurs techniques implémentées dans les récents noyaux Linux. Nous consacrerons les prochains cours à comprendre leur 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 :

``` 5.8.9-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/install/debian/

Et Kali Linux alors ? Kali étant basée sur Debian, référez-vous à la procédure d'installation de cette distribution.

Windows et macOS

Bien que les fonctionnalités de contenerisation de Docker que nous utiliserons ne soient disponibles que sous Linux, il est possible d'utiliser Docker de manière déportée : le daemon Docker tournera dans une VM Linux, mais vous pourrez interagir avec lui via votre ligne de commande habituelle.

Téléchargez la version correspondante à votre système d'exploitation :

Une fois l'installation terminée, lancez l'application : elle ajoutera une icône dans la zone de notification, vous permettant de contrôler l'exécution de la machine virtuelle sous-jacente.

Évaluation en ligne

Si vous rencontrez des difficultés pour vous lancer, le projet Play With Docker vous donne accès à un bac à sable dans lequel vous pourrez commencer à faire ce TP.

Il vous faudra disposer d'un compte Docker. Une fois identifié, vous pourrez créer une nouvelle instance, et vous connecter dessus via SSH.

Vérifier la bonne marche de l'installation

Vous devriez maintenant être capable de lancer la commande suivante :

```bash docker version ```

Une sortie similaire au bloc suivant devrait apparaître sur votre écran :

``` Client: Version: 19.03.12 API version: 1.40 Go version: go1.14.6 Git commit: 48a66213fe Built: Thu Aug 6 01:27:59 2020 OS/Arch: linux/amd64 Experimental: false

Server: Engine: Version: 19.03.12 API version: 1.40 (minimum version 1.12) Go version: go1.14.6 Git commit: 48a66213fe Built: Thu Aug 6 01:26:25 2020 OS/Arch: linux/amd64 Experimental: true containerd: Version: 1.2.13 GitCommit: 35bd7a5f69c13e1563af8a93431411cd9ecf5021 runc: Version: 1.0.0-rc10 GitCommit: docker-init: Version: 0.18.0 GitCommit: fec3683b971d9c3ef73f284f176672c44b448662

</div>


### `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 :

<div lang="en-US">
```bash
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 relancez votre session :

```bash 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