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

@ -3,7 +3,7 @@
Stockage de données applicatives
================================
Le concept principal de Docker est de concevoir des conteneurs applicatifs : on
Le concept principal de Docker est de concevoir des conteneurs applicatifs: on
va préférer assigner un unique rôle à un conteneur (donc généralement on ne va
lancer qu'une seule application par conteneur) et concevoir un service complet
en créant un groupe de conteneurs, partageant des données entre eux par des
@ -25,21 +25,21 @@ Il est possible de monter un répertoire de la machine hôte dans un
conteneur. L'intérêt reste plutôt limité à des fins de facilité ou de test, par
exemple si vous voulez partager des fichiers avec votre voisin, en passant par
le protocole HTTP, mais sans se casser la tête à installer et configurer un
serveur web :
serveur web:
<div lang="en-US">
```bash
docker container run --rm -p 80:80 -v ~/Downloads:/usr/share/nginx/html:ro -d nginx
docker run --rm -p 80:80 -v ~/Downloads:/usr/share/nginx/html:ro -d nginx
```
</div>
Une fois cette commande lancée, votre voisin pourra accéder à votre dossier
Downloads en renseignant l'IP de votre machine dans son navigateur favori !
Downloads en renseignant l'IP de votre machine dans son navigateur favori!
Par défaut, `nginx` ne va pas permettre de lister le contenu du répertoire (et
va afficher une page 404, car il cherche un fichier `index.html` dans votre
répertoire). Vous pouvez par contre accéder à un fichier directement, par
exemple : <http://10.42.12.23/dQw4w9WgXcQ.mp4>
exemple: <http://10.42.12.23/dQw4w9WgXcQ.mp4>
## Les volumes
@ -50,7 +50,7 @@ soucier de leur réel emplacement.
Comme il s'agit d'un objet, la première chose à faire va être de créer notre
volume :
volume:
<div lang="en-US">
```bash
@ -59,7 +59,7 @@ docker volume create prod_foodp0m
```
</div>
Ensuite, nous pouvons démarrer un conteneur utilisant, par exemple :
Ensuite, nous pouvons démarrer un conteneur utilisant, par exemple:
<div lang="en-US">
```bash
@ -67,7 +67,7 @@ docker container run --mount source=prod_youp0m,target=/images nemunaire/youp0m
```
</div>
On pourra également faire de même avec un conteneur MySQL :
On pourra également faire de même avec un conteneur MySQL:
<div lang="en-US">
```bash
@ -86,7 +86,7 @@ Lorsque vous n'avez pas besoin de stocker les données et que vous ne désirez
pas qu'elles persistent (des données sensibles par exemple) ou si cela peut
améliorer les performances de votre conteneur, il est possible de créer des
points de montages utilisant le système de fichiers `tmpfs` et donc résidant
exclusivement en RAM\ :
exclusivement en RAM\:
<div lang="en-US">
```bash
@ -106,12 +106,15 @@ pour mettre à jour ou relancer un conteneur, sans perdre les données. Un autre
intérêt est de pouvoir partager des fichiers entre plusieurs conteneurs.
Il est ainsi parfaitement possible de lancer deux conteneurs qui partagent le
même volume :
même volume:
<div lang="en-US">
```bash
docker container run -d --mount source=prod_youp0m,target=/images -p 8080:8080 nemunaire/youp0m
docker container run -d --mount source=prod_youp0m,target=/images -p 8081:8080 nemunaire/youp0m
docker container run -d --mount source=prod_youp0m,target=/images \
-p 8080:8080 nemunaire/youp0m
docker container run -d --mount source=prod_youp0m,target=/images \
-p 8081:8080 nemunaire/youp0m
```
</div>
@ -119,7 +122,7 @@ Dans cet exemple, l'ajout d'une image dans un conteneur l'ajoutera également
dans le second.
Un exemple plus intéressant serait sur une architecture de micro-services
traitant des fichiers de grande taille : plutôt que de faire passer les
traitant des fichiers de grande taille: plutôt que de faire passer les
fichiers par un système de message/socket, on peut partager un volume pour
épargner les coûts de transferts inutiles, lorsqu'ils ne changent pas de
machine.