Save tuto corrections

This commit is contained in:
nemunaire 2022-02-24 20:43:43 +01:00
commit 10448a6c8d
115 changed files with 1423 additions and 1289 deletions

View file

@ -1,24 +1,16 @@
\newpage
Installation
------------
Avant de voir de quoi il s'agit, afin de gagner du temps, nous allons commencer
par installer Docker.
### Prérequis
Docker repose sur plusieurs techniques implémentées dans les récents noyaux
Linux (et plus marginalement, Windows). Nous consacrerons les prochains cours à
comprendre leur fonctionnement. Ces techniques, contrairement aux instructions
de virtualisation qui rendent les hyperviseurs attractifs, ne sont pas limitées
à une architecture de microprocesseur spécifique ; cependant la communauté
autour de Docker utilise principalement l'architecture `amd64`, c'est sur cette
dernière que Docker pourra être exploité à son plein potentiel, suivi de près
par l'architecture `arm64`.
Docker repose sur plusieurs techniques implémentées dans les noyaux Linux
récents (et plus marginalement, Windows). Ces techniques, contrairement aux
instructions de virtualisation qui rendent les hyperviseurs attractifs, ne sont
pas limitées à une architecture de microprocesseur spécifique ; cependant la
communauté autour de Docker utilise principalement l'architecture `amd64`,
c'est sur cette dernière que Docker pourra être exploité à son plein potentiel,
suivi de près par l'architecture `arm64`.
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 :
64 bits. Le retour de la commande `uname -m` doit vous indiquer:
<div lang="en-US">
```
@ -26,7 +18,7 @@ x86_64
```
</div>
Ou si vous êtes intrépide :
Ou si vous êtes intrépide:
<div lang="en-US">
```
@ -34,7 +26,7 @@ aarch64
```
</div>
Assurez-vous également d'avoir un noyau récent, avec la commande `uname -r` :
Assurez-vous également d'avoir un noyau récent, avec la commande `uname -r`:
<div lang="en-US">
```
@ -46,53 +38,66 @@ Rassurez-vous, même si vous n'avez pas compilé le dernier noyau disponible sur
[`kernel.org`](https://www.kernel.org/), Docker s'utilise à partir de Linux 3.10.
### Par le gestionnaire de paquets
### Sous Linux, 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
plus ou moins récente. Sous Debian et ses dérivés (Ubuntu, Mint, ...) le paquet
a été nommé [`docker.io`](https://packages.debian.org/sid/docker.io).
Si dans un environnement de production, on préférera sans doute utiliser une
version déjà bien éprouvée (comme celle des dépôts de sa distribution), pour ce
cours, nous allons avoir besoin de la **dernière version
version déjà bien éprouvée (comme celle des dépôts de sa distribution), pour
bien suivre les exemples, nous allons avoir besoin de la **dernière version
disponible**. Référez-vous à la documentation officielle correspondant à votre
distribution :
distribution:
<https://docs.docker.com/engine/install/debian/>
**Et Kali Linux alors ?** Kali étant basée sur Debian, référez-vous à
::::: {.question}
**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
### Sous 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.
manière déportée: le daemon Docker tournera dans une machine virtuelle Linux,
mais vous pourrez interagir avec lui via votre ligne de commande habituelle.
Téléchargez la version correspondante à votre système d'exploitation :
Téléchargez la version correspondant à votre système d'exploitation:
* [Docker Desktop for Mac](https://hub.docker.com/editions/community/docker-ce-desktop-mac)
* [Docker Desktop for Windows](https://hub.docker.com/editions/community/docker-ce-desktop-windows)
* Docker Desktop for Mac:\
<https://hub.docker.com/editions/community/docker-ce-desktop-mac>
Une fois l'installation terminée, lancez l'application : elle ajoutera une
* Docker Desktop for Windows:\
<https://hub.docker.com/editions/community/docker-ce-desktop-windows>
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.
Notez que depuis septembre 2021, ces applications passent sous une licence
payante pour les grosses entreprises[^DockerSubscription]. Cela ne nous
concerne pas, car la licence est gratuite pour un usage éducatif ou
personnel. Notez que ce n'est pas le binaire Docker qui change de licence, elle
reste libre, mais seulement les applications Docker Desktop.
::::: {.warning}
Depuis septembre 2021, ces applications passent sous une licence payante pour
les grosses entreprises[^DockerSubscription]. Cela ne nous concerne pas, car la
licence est gratuite pour un usage éducatif ou personnel.
Notez que cela ne concerne pas le projet ou le binaire Docker: ceux-ci restent
libres. Seules les applications Docker Desktop sont concernées.
:::::
[^DockerSubscription]: <https://www.docker.com/blog/updating-product-subscriptions/>
### Évaluation en ligne
Si vous rencontrez des difficultés pour vous lancer, le projet
[Play With Docker](https://labs.play-with-docker.com/) vous donne accès à
un bac à sable dans lequel vous pourrez commencer à faire ce TP.
Si vous rencontrez des difficultés pour vous lancer, le projet Play With
Docker[^PlayWithDocker] vous donne accès à un bac à sable
dans lequel vous pourrez commencer à faire les exercices à suivre.
[^PlayWithDocker]: Play With Docker est accessible à cette addresse: <https://labs.play-with-docker.com/>
Il vous faudra disposer [d'un compte
Docker](https://hub.docker.com/signup). Une fois identifié, vous pourrez créer
@ -101,7 +106,7 @@ 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 :
Vous devriez maintenant être capable de lancer la commande suivante:
<div lang="en-US">
```bash
@ -109,7 +114,7 @@ docker version
```
</div>
Une sortie similaire au bloc suivant devrait apparaître sur votre écran :
Une sortie similaire au bloc suivant devrait apparaître sur votre écran:
<div lang="en-US">
```
@ -149,8 +154,8 @@ Server:
#### `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 :
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
@ -161,9 +166,9 @@ sudo service docker restart
#### `permission denied`?
Si vous avez cette erreur : `dial unix /var/run/docker.sock: permission
Si vous avez cette erreur: `dial unix /var/run/docker.sock: permission
denied.`, ajoutez votre utilisateur au groupe `docker` et **relancez votre
session** :
session**:
<div lang="en-US">
```bash
@ -171,5 +176,10 @@ sudo gpasswd -a $USER docker
```
</div>
**Attention :** cette action n'est pas anodine d'un point de vue sécurité :
::::: {.warning}
Cette action n'est pas anodine d'un point de vue de la sécurité:
<https://docs.docker.com/engine/security/#docker-daemon-attack-surface>
:::::