Save tuto corrections
This commit is contained in:
parent
f5ee6b8534
commit
10448a6c8d
115 changed files with 1423 additions and 1289 deletions
|
|
@ -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>
|
||||
|
||||
:::::
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue