Docker Python Nginx Django

myangui - 6 juil. 2023 à 15:15
bg62 Messages postés 23594 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 1 mai 2024 - 7 juil. 2023 à 19:40

Bonjour à tous,

Je veux créer dockerfile avec multi-stages pour Python, Nginx et Django.

L'idée est de créer 3 Layers ou python sera au base, puis Nginx et finalement le code Django.

Merci pour votre aide

2 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 498
Modifié le 6 juil. 2023 à 22:45

Bonjour,

Je pense que tu n'as pas très bien compris le concept des "builds multistage" de Docker.

Le but est d'effectuer les différentes étapes de la construction en redémarrant depuis une image propre à un moment opportun qui ne contient pas tous les éléments qui ont été installés/générés précédemment, mais d'y importer uniquement ce qu'il faut depuis l'étage précédent.

Par exemple, pour un programmeur C/C++ (ou tout autre langage compilé), il installera le compilateur et tous les outils nécessaires à la compilation dans le premier étage afin d'effectuer la compilation. Il créera ensuite un second étage dans lequel il importera uniquement le fichier exécutable résultant de la première partie : il n'y a aucune raison pour que l'image finale contiennent les outils de compilation et les éventuels fichiers temporaires créés lors de cette opération, quand l'exécutable est suffisant pour exécuter le logiciel.

Un développeur Web front-end effectuera les opérations Webpack dans un premier étage, et importera le résultat (dossier "dist") dans un second.

Si ton objectif est d'obtenir une image Docker qui contient à la fois ton application Django et Nginx, alors il faut installer les deux logiciels dans le même stage.

Les trois layers dont tu parles correspondent à trois appels « RUN » différents, ça n'a rien à voir avec le "multi stage".

Par ailleurs, cette méthode irait un peu à l’encontre de l’objectif de "modularité" de Docker : pourquoi avoir les deux logiciels dans une seule image alors qu'il existe des images Nginx officielles, ce qui permettrait de te concentrer sur la construction d'une image contenant seulement ton application Django ?

0
bg62 Messages postés 23594 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 1 mai 2024 2 362
7 juil. 2023 à 19:40

bjr .... et as-tu une idée du budget nécessaire pour cela ???


-1