Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
technique:docker:picasoft:dockerfiles [2020/09/30 16:46] – qduchemi | technique:docker:picasoft:dockerfiles [2021/12/19 19:41] – qduchemi | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{indexmenu_n> | {{indexmenu_n> | ||
- | # Comprendre la gestion des services de Picasoft | + | |
+ | < | ||
+ | # Comprendre la gestion des services | ||
+ | |||
+ | < | ||
+ | Prérequis : les articles | ||
+ | </ | ||
## Préambule | ## Préambule | ||
Ligne 9: | Ligne 15: | ||
Pour le reste, qui pourrait être lancé sur une machine virtuelle quelconque, on privilégiera Docker (qui a justement l' | Pour le reste, qui pourrait être lancé sur une machine virtuelle quelconque, on privilégiera Docker (qui a justement l' | ||
- | Pour gérer les conteneurs Docker, nous utilisons [Docker Compose](https:// | + | < |
- | Les fichiers permettant de construire les images, de créer les conteneurs et de configurer les services sont centralisés sur un dépôt Git, appelé `dockerfiles`. C'est la seule ressource nécessaire pour lancer n' | + | Les fichiers permettant de construire les images, de créer les conteneurs et de configurer les services sont centralisés sur un dépôt Git, appelé `dockerfiles`. C'est la seule ressource nécessaire pour lancer n' |
- | Traditionnellement, | + | < |
- | ## Philosophie | + | ## Objectifs |
Historiquement, | Historiquement, | ||
Ligne 22: | Ligne 28: | ||
* Gérer un fichier Compose global par machine virtuelle, qui contient la configuration et les secrets. | * Gérer un fichier Compose global par machine virtuelle, qui contient la configuration et les secrets. | ||
- | Cette approche pose plusieurs problèmes. Comment savoir ce qu'il y a dans une image, si on perd le Dockerfile ? Quel Dockerfile correspond à quelle version de l' | + | Cette approche pose plusieurs problèmes. |
+ | |||
+ | < | ||
L' | L' | ||
Ligne 43: | Ligne 51: | ||
Le dépôt est organisé en dossiers. Chaque dossier correspond à un *service* Picasoft au sens large, c' | Le dépôt est organisé en dossiers. Chaque dossier correspond à un *service* Picasoft au sens large, c' | ||
+ | |||
+ | < | ||
Ainsi, chaque dossier du dépôt contient, selon les situations : | Ainsi, chaque dossier du dépôt contient, selon les situations : | ||
Ligne 52: | Ligne 62: | ||
* Un `README.md` résumant les paramètres modifiables sur le dépôt, les mécanismes pour en rajouter, etc, | * Un `README.md` résumant les paramètres modifiables sur le dépôt, les mécanismes pour en rajouter, etc, | ||
* Pour les images maison, un `CHANGELOG.md` résumant les modifications faites au fil des version. | * Pour les images maison, un `CHANGELOG.md` résumant les modifications faites au fil des version. | ||
- | |||
- | Chaque service a son propre fichier Compose, lui permettant d' | ||
## Utiliser le dépôt sur les machines | ## Utiliser le dépôt sur les machines | ||
- | Si vous clonez | + | < |
+ | |||
+ | On commence par cloner le dépôt : | ||
- | À moins qu'on ouvre une nouvelle machine, ça ne devrait pas arriver - le dépôt existe déjà dans `/ | + | ``` |
+ | mkdir / | ||
+ | cd / | ||
+ | git clone https:// | ||
+ | ``` | ||
En effet, le dépôt sera partagé et les fichiers doivent être éditables par tous les membres de Picasoft. | En effet, le dépôt sera partagé et les fichiers doivent être éditables par tous les membres de Picasoft. |