Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:tech_team:tuto_docker [2021/10/17 04:01] qduchemitechnique:tech_team:tuto_docker [2021/11/15 23:57] (Version actuelle) qduchemi
Ligne 141: Ligne 141:
  
 où tu remplaces `quentin` par le nom de ton conteneur. où tu remplaces `quentin` par le nom de ton conteneur.
 +
 +Aussi, je n'aurais pas dû utiliser le port 80 de l'hôte car il est souvent utilisé par un autre service, appelé Traefik. Tu peux l'éteindre en faisant :
 +
 +```
 +docker stop traefik
 +```
 </bootnote> </bootnote>
  
Ligne 217: Ligne 223:
 ``` ```
  
-`-v` pour //volumes//. On en parle juste après! ;-) +`-v` pour //volumes//. On en parle juste après! ;-)
 - Le chemin de la machine doit être **absolu**, pas relatif à là où tu te trouves. Pour savoir le chemin absolu du dossier courant, utilise la commande `pwd`. - Le chemin de la machine doit être **absolu**, pas relatif à là où tu te trouves. Pour savoir le chemin absolu du dossier courant, utilise la commande `pwd`.
  
Ligne 240: Ligne 245:
 <bootnote question>C'est quoi le problème ? C'est pas bien les montages ?</bootnote> <bootnote question>C'est quoi le problème ? C'est pas bien les montages ?</bootnote>
  
-Si, c'est chouette, mais ça pose quelques « inconvénients ». Je vais pas rentrer dans les détails, mais imagine que quelqu'un supprime ton dossier par erreur, ben c'est un peu dommage... Aussi, quand tu montes un dossier vide sur un dossier non-vide, ça l'écrase, parfois ce n'est pas le comportement attendu... Alors, c'est souvent plus pratique d'utiliser les volumes Docker !+Si, c'est chouette, mais ça pose quelques « inconvénients ». Je vais pas rentrer dans les détails, mais imagine que quelqu'un supprime ton dossier par erreur, ben c'est un peu dommage... Le chemin du dossier dépend de l'hôte, c'est pas très « portable ». Aussi, quand tu montes un dossier vide sur un dossier non-vide, ça l'écrase, parfois ce n'est pas le comportement attendu... Alors, c'est souvent plus pratique d'utiliser les volumes Docker !
  
 <bootnote critical>Un volume Docker n'est pas supprimé quand le conteneur qui le monte est supprimé. Les volumes Docker sont souvent utilisés pour persister des données qui sinon seraient perdues, par exemple les données d'une base de données.</bootnote> <bootnote critical>Un volume Docker n'est pas supprimé quand le conteneur qui le monte est supprimé. Les volumes Docker sont souvent utilisés pour persister des données qui sinon seraient perdues, par exemple les données d'une base de données.</bootnote>
Ligne 270: Ligne 275:
 <bootnote question>À ton avis, que contient le volume Docker après le lancement ?</bootnote> <bootnote question>À ton avis, que contient le volume Docker après le lancement ?</bootnote>
  
-Si on revient un peu en arrière, on se rappelle qu'on a copié `index.html` directement dans l'image qu'on utilise. Comme on a monté un volume vide (`quentin`) sur un dossier non-vide, le contenu du dossier a été copié. Le volume `quentin` contient donc notre `index.html`, pour le moment.+Si on revient un peu en arrière, on se rappelle qu'on a copié `index.html` directement dans l'image qu'on utilise. Comme on a monté un volume vide (`quentin`) sur un dossier non-vide, le contenu du dossier a été copié. Le volume `quentin` contient donc l'`index.html` **de l'image**, pour le moment.
  
 Si tu fais un `curl`, tu devrais donc voir ton premier message apparaître. Si tu fais un `curl`, tu devrais donc voir ton premier message apparaître.
Ligne 290: Ligne 295:
 On a vu comment créer une image Docker, comment relier ses ports à ceux de la machine, et comment relier ses dossiers à ceux de la machine. On a vu comment créer une image Docker, comment relier ses ports à ceux de la machine, et comment relier ses dossiers à ceux de la machine.
  
-Mais oui, c'est un peu lourd... parce que ça implique qu'à chaque fois qu'on recrée un conteneur, par exemple pour faire une mise à jour, il faut écrire un ligne de commande longue comme le bras, ne pas se tromper, bien connaître l'ensemble des ports et des volumes... c'est un coup à devenir fou. :-P+Mais oui, c'est un peu lourd... parce que ça implique qu'à chaque fois qu'on recrée un conteneur, par exemple pour faire une mise à jour, il faut écrire une ligne de commande longue comme le bras, ne pas se tromper, bien connaître l'ensemble des ports et des volumes... c'est un coup à devenir fou. :-P
  
 Heureusement, chez Picasoft (et partout ailleurs, en fait), on fait autrement. Et c'est grâce à [[technique:tech_team:pres_compose|Docker Compose]], qui permet de décrire la configuration des conteneurs une fois pour toutes dans un fichier et de les lancer avec une commande qui tient dans la main! Heureusement, chez Picasoft (et partout ailleurs, en fait), on fait autrement. Et c'est grâce à [[technique:tech_team:pres_compose|Docker Compose]], qui permet de décrire la configuration des conteneurs une fois pour toutes dans un fichier et de les lancer avec une commande qui tient dans la main!
  • technique/tech_team/tuto_docker.1634436061.txt.gz
  • de qduchemi