Skip to content
Snippets Groups Projects
Verified Commit 7f2c603a authored by Quentin Duchemin's avatar Quentin Duchemin
Browse files

[Doc] Add precisions about customizing an existing Dockerfile

parent 7ea34133
No related branches found
No related tags found
No related merge requests found
......@@ -10,6 +10,33 @@ Pour une plongée plus complète dans les différents concepts abordés ici, on
* [Orchestrer le lancement de conteneurs avec Docker Compose](https://docs.docker.com/compose/)
* [Référence pour l'écriture de fichiers Docker Compose](https://docs.docker.com/compose/compose-file/)
## Se baser sur un autre Dockerfile ?
Tous les services tournant sur l'infrastructure de Picasoft sont voués à être pris en charge par ce dépôt. Cela permet notamment d'assurer leur présence sur notre registre Docker privé (`registry.picasoft.net`), ce qui permet notamment de réduire le temps de téléchargement des images, d'assurer leur intégrité et de décentraliser le stockage des images du seul Hub Docker officiel. Enfin, cela nous permet de tester la sécurité des images en amont.
Il y a plusieurs cas.
### Je veux faire tourner un service existant, tel quel
Si un service existant a une image Docker officielle, référencée sur le Docker Hub, alors on créera un Dockerfile *dummy*, ne contenant qu'une instruction `FROM`. Exemple :
```Dockerfile
FROM grafana:4.8
```
Le reste est identique : on crée notre `docker-compose.yml`, notre `README.md`, notre `clair-whitelist.yml`, et les fichiers de secrets d'exemple.
### Je veux customiser un service existant
Supposons que l'image Docker officielle ne nous convienne pas, que l'on soit obligés de la modifier pour régler des problèmes de sécurité, ou tout simplement qu'on veuille l'étendre, il faut créer un Dockerfile plus complet. Il y a deux solutions :
* Soit on part de l'image officielle, avec un `FROM`, et on travaille dessus en rajoutant des fichiers, en enlevant des paquets... Cette solution a l'inconvénient de multiplier les *layers* inutiles, et d'augmenter la taille de l'image.
* Soit on copie le Dockerfile de l'image officielle (c'est le cas pour [Mattermost](../pica-mattermost)), et on fait nos modifications. Cette solution a pour inconvénient de devoir se synchroniser avec les modifications du Dockerfile officiel à chaque mise à jour, s'il contient des améliorations ou corrections importantes.
### Je veux écrire un Dockerfile de zéro.
Allez-y ! :D
## Dockerfile
Une [série de recommendations](https://wiki.picasoft.net/doku.php?id=technique:docker:tips) est disponible ici pour l'écriture des Dockerfile.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment