tutorial: Reorder chapters for better grouping

This commit is contained in:
nemunaire 2021-09-21 11:44:12 +02:00
commit 0093949c4d
12 changed files with 110 additions and 73 deletions

View file

@ -1,7 +1,7 @@
\newpage
Faire le ménage
===============
---------------
Au fur et à mesure de nos tests, la taille utilisée par les données de Docker
peut devenir conséquente et son interface peut commencer à déborder
@ -14,7 +14,7 @@ supprimera pas non plus les conteneurs qui n'auront pas été démarrés avec
l'option `--rm`.
## Conteneurs
### Conteneurs
Nous pouvons afficher l'ensemble des conteneurs, quel que soit leur état (en
cours d'exécution, arrêtés,\ ...) avec la commande suivante :
@ -46,7 +46,7 @@ docker container rm cranky_jones dreamy_gates
</div>
## Images
### Images
Les vieilles images qui n'ont plus de références sur elle (ni tag, ni conteneur
lié) sont automatiquement supprimées. Vous n'avez généralement pas à vous
@ -54,7 +54,7 @@ occuper de faire du nettoyage dans les images. Néanmoins, vous pouvez les gére
de la même manière que les conteneurs, avec les sous-commandes `docker image`.
## `prune`
### `prune`
Dans la plupart des menus permettant de gérer les objets Docker, vous trouverez
une commande `prune` qui supprimera les objets inutilisés :

View file

@ -1,7 +1,7 @@
\newpage
Mon premier webservice
======================
----------------------
C'est parti, nous allons déployer notre premier service !
@ -30,7 +30,7 @@ Non ! Car le service est contenerisé ! Il s'exécute dans son coin, sans
interférer avec son hôte.
## Redirection de ports
### Redirection de ports
Nous pouvons rediriger le port avec l'argument <span lang="en-US">`-p dst_host:src_cntr`</span> :
@ -63,7 +63,7 @@ done
</div>
## Prêt pour la production ?
### Prêt pour la production ?
Avec l'option `-i`, nous pouvons encore transmettre les signaux de terminaison
au conteneur. C'est pratique lorsque l'on développe, mais en production, notre
@ -88,7 +88,7 @@ docker container logs 0123456789abcdef
</div>
## Une autre instance ?
### Une autre instance ?
Maintenant que nous avons un clone de <https://you.p0m.fr/>, nous voulons
absolument un clone de <https://food.p0m.fr/> !
@ -111,7 +111,7 @@ voit bien que ceux-ci ne partagent pas leur système de fichiers : notre
nouvelle instance est encore immaculée.
## Paramètres de lancement
### Paramètres de lancement
`youp0m` dispose d'une interface d'administration minimaliste, pour modérer les
images soumises. Celle-ci est accessible par mot de passe (ou est désactivée si
@ -146,7 +146,7 @@ Une fois lancé, ce conteneur exposera une interface d'administration à cette
adresse : <http://localhost:8080/admin/>.
## Arrêt des conteneurs et persistance des données
### Arrêt des conteneurs et persistance des données
Lorsque l'on souhaite stopper un conteneur lancé en tâche de fond, on utilise
son identifiant dans la commande suivante :

View file

@ -1,7 +1,7 @@
\newpage
Mon premier conteneur
=====================
---------------------
Afin de tester la bonne marche de notre installation, lançons notre premier
conteneur avec la commande\ :
@ -41,7 +41,7 @@ docker image pull ubuntu
</div>
### Arguments de la ligne de commande
#### Arguments de la ligne de commande
Remarquez comment on interagit avec chaque *objet Docker* : dans la ligne de
commande, le premier mot clef est le type d'objet (`container`, `image`,
@ -68,7 +68,7 @@ docker image ls
</div>
### *Image ID*, nom, tag
#### *Image ID*, nom, tag
Chaque image est identifiable par son *Image ID* : il s'agit d'un long
identifiant unique. Chaque modification qui est apportée à l'image
@ -109,7 +109,7 @@ le tag qui est automatiquement recherché lorsque l'on ne le précise pas en
lançant l'image.
## Exécuter un programme dans un conteneur
### Exécuter un programme dans un conteneur
Maintenant que nous avons à notre disposition l'image d'un conteneur Ubuntu,
nous allons pouvoir jouer avec !
@ -140,7 +140,7 @@ docker container run alpine /sbin/apk stats
</div>
### Images vs. conteneurs
#### Images vs. conteneurs
À chaque fois que nous lançons un `run`, un nouveau conteneur est créé.
L'image fournie comme argument est utilisée comme un modèle de base pour le
@ -162,7 +162,7 @@ l'installation d'un paquet) s'applique à d'autres conteneurs, il va falloir
créer une nouvelle image à partir de ce conteneur.
### Programme par défaut
#### Programme par défaut
Chaque image vient avec un certain nombre de métadonnées, notamment le
programme à exécuter par défaut si l'on ne le précise pas dans la ligne de
@ -248,7 +248,7 @@ Rassurez-vous, on peut les abbréger en `-i` et `-t` :
</div>
### Les paramètres
#### Les paramètres
Vous avez remarqué le placement des options `--tty` et `--interactive` ? Avant
le nom de l'image, elles sont utilisées par Docker pour modifier le comportement
@ -276,7 +276,7 @@ simplement transmis au conteneur comme argument au premier `execve(2)` du
conteneur.
## Lister les conteneurs
### Lister les conteneurs
Avant de quitter notre conteneur, regardons, à l'aide d'un autre terminal,
l'état de notre conteneur. La commande suivante permet d'obtenir la liste des
@ -291,7 +291,7 @@ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAME
</div>
## Sortir d'un conteneur
### Sortir d'un conteneur
Pour mettre fin à l'exécution d'un conteneur, il convient de terminer le
premier processus lancé dans celui-ci.

View file

@ -1,12 +1,12 @@
\newpage
Installation
============
------------
Avant de voir de quoi il s'agit, afin de gagner du temps, nous allons commencer
par installer Docker.
## Prérequis
### 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 à
@ -46,7 +46,7 @@ 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
### 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
@ -64,7 +64,7 @@ distribution :
la procédure d'installation de cette distribution.
## Windows et macOS
### 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
@ -88,7 +88,7 @@ reste libre, mais seulement les applications Docker Desktop.
[^DockerSubscription]: <https://www.docker.com/blog/updating-product-subscriptions/>
## Évaluation en ligne
### É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 à
@ -99,7 +99,7 @@ Docker](https://hub.docker.com/signup). Une fois identifié, vous pourrez créer
une nouvelle instance, et vous connecter dessus via SSH.
## Vérifier la bonne marche de l'installation
### Vérifier la bonne marche de l'installation
Vous devriez maintenant être capable de lancer la commande suivante :
@ -145,7 +145,9 @@ Server:
</div>
### `no such file or directory`?
### Problèmes courants
#### `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 :
@ -157,7 +159,7 @@ sudo service docker restart
</div>
### `permission denied`?
#### `permission denied`?
Si vous avez cette erreur : `dial unix /var/run/docker.sock: permission
denied.`, ajoutez votre utilisateur au groupe `docker` et **relancez votre

View file

@ -1,7 +1,7 @@
\newpage
Composition de Docker
=====================
---------------------
Docker est un écosystème d'outils de haut niveau, permettant d'utiliser des
*conteneurs*.
@ -25,7 +25,7 @@ Commençons par planter le décor, en détaillant les principaux mécanismes de
Docker.
## Les images Docker
### Les images Docker
Une image Docker est un système de fichiers en lecture seule. Elle est formée
d'un ensemble de couches, agrégées selon le principe d'UnionFS.
@ -44,7 +44,7 @@ Il y a deux méthodes pour obtenir des images Docker : soit les construire avec
les outils fournis, soit les récupérer depuis un registre.
## Les registres Docker (*Docker registries*)
### Les registres Docker (*Docker registries*)
Les registres sont des plates-formes de stockage, publiques ou privées,
contenant des images. Ils permettent de récupérer des images, mais également
@ -62,7 +62,7 @@ et [GitLab](https://docs.gitlab.com/ee/user/packages/container_registry/) le
proposent également.
## Les conteneurs Docker
### Les conteneurs Docker
Alors que les images constituent la partie immuable de Docker, les conteneurs
sont sa partie vivante. Chaque conteneur est créé à partir d'une image : à