tutorial: Reorder chapters for better grouping
This commit is contained in:
parent
c9a08c6125
commit
0093949c4d
12 changed files with 110 additions and 73 deletions
|
|
@ -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 :
|
||||
|
|
|
|||
|
|
@ -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 :
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 : à
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue