TP1: Corrections and rephrasing
This commit is contained in:
parent
9587e183c8
commit
651283b526
6 changed files with 150 additions and 30 deletions
81
tutorial/docker-basis/debug.md
Normal file
81
tutorial/docker-basis/debug.md
Normal file
|
@ -0,0 +1,81 @@
|
|||
\newpage
|
||||
|
||||
Intervenir durant l'exécution
|
||||
=============================
|
||||
|
||||
Lorsque nous lançons un conteneur, il arrive que son comportement nous
|
||||
échappe : une imprécision dans la documentation, un cas particulier, une erreur
|
||||
de configuration, ... Lorsque le conteneur est en cours d'exécution, il y a
|
||||
plusieurs manières de contrôler ce qu'il se passe.
|
||||
|
||||
|
||||
docker logs
|
||||
-----------
|
||||
|
||||
La première étape consiste bien souvent à regarder ce que le conteneur affiche
|
||||
sur ses sorties standard et d'erreur. Lorsqu'il est lancé en monde *daemon*, il
|
||||
convient d'utiliser la commande :
|
||||
|
||||
<div lang="en-US">
|
||||
```bash
|
||||
docker container logs 0a1b2c3d4e
|
||||
```
|
||||
</div>
|
||||
|
||||
Cela affichera l'intégralité des journaux depuis la création du conteneur.
|
||||
|
||||
En ajoutant l'option `--follow` lorsque le conteneur est actif, cela laissera
|
||||
la commande active `logs` pour afficher en direct les nouvelles lignes
|
||||
inscrites sur les sorties du conteneur.
|
||||
|
||||
|
||||
Entrer dans un conteneur en cours d'exécution
|
||||
---------------------------------------------
|
||||
|
||||
Dans certaines circonstances, les journaux ne sont pas suffisants pour déboguer
|
||||
correctement l'exécution d'un conteneur.
|
||||
|
||||
En réalisant les exercices, vous serez sans doute confronté à des comportements
|
||||
étranges, que vous ne pourriez comprendre qu'en ayant la main sur le conteneur,
|
||||
à travers un shell.
|
||||
|
||||
Lorsqu'un conteneur est actif, vous pouvez y lancer un nouveau processus,
|
||||
notamment un shell par exemple :
|
||||
|
||||
<div lang="en-US">
|
||||
```bash
|
||||
docker container exec -it mycloud /bin/bash
|
||||
(inctnr)# hostname
|
||||
0a1b2c3d4e5f
|
||||
(inctnr)# ping mysql_cntr_name
|
||||
...
|
||||
```
|
||||
</div>
|
||||
|
||||
On peut aussi imaginer lancer régulièrement une commande par ce biais : pour
|
||||
déclencher une sauvegarde d'un conteneur serveur de base de données ou pour
|
||||
exécuter une tâche périodique.
|
||||
|
||||
::::: {.question}
|
||||
|
||||
Il n'est pas possible d'`exec` dans un conteneur éteint. Aussi, si la commande
|
||||
initiale du conteneur se termine, tous les `exec` seront instantanément tués.
|
||||
|
||||
:::::
|
||||
|
||||
|
||||
docker top
|
||||
----------
|
||||
|
||||
Si plusieurs processus doivent s'exécuter dans un conteneur, un bon moyen de
|
||||
savoir s'ils sont tous actifs est d'utiliser :
|
||||
|
||||
<div lang="en-US">
|
||||
```bash
|
||||
docker container top cntr_name
|
||||
```
|
||||
</div>
|
||||
|
||||
Cela liste tous les processus rattaché au conteneur nommé : à la fois les
|
||||
processus démarrés par le `run`, mais également les éventuels processus
|
||||
rattachés par `exec`.
|
Loading…
Add table
Add a link
Reference in a new issue