0
votes

Quel est l'avantage de dockeriser l'application web spa

i Dockerizer My Spa Web App en utilisant Nginx comme image de base puis copiez mon nginx.conf et construire des fichiers. Comme APP Dockerize VUE.JS Mention Je pense que beaucoup de solutions de spa dockerize sont Similaire.

Si je n'utilise pas Docker, je vais d'abord construire un code spa, copiez les fichiers de construction dans le répertoire racine NGinx (après l'installation / la configuration NGinx, je la modifie à peine)

Alors, quel est le bénéfice du spa Dockerize?

----- mise à jour -----

Une réponse a déclaré "Si l'application est dockerisé à chaque fois que vous publiez une nouvelle version de votre application, le serveur NGinx obtient toutes les nouvelles mises à jour disponibles pour cela." Je ne suis pas d'accord avec ça du tout. Je n'ai pas besoin de la dernière version de Nginx, après tout, j'utilise la fonctionnalité de base de Nginx. Certains membres de mes membres utilisent simplement la version Nginx groupée avec Linux lors du développement. Si mon image Docker utilise la dernière ngixn, elle crée en fait l'environnement différent de l'environnement de développement.

Je me rendra compte que ma question sera probablement fermée B / C, elle sera considérée comme une opinion basée. Mais je l'ai googlé et je ne trouve pas de réponse satisfaite.


0 commentaires

3 Réponses :


0
votes

Si je n'utilise pas Docker, je vais d'abord construire un code spa, copiez les fichiers de construction dans le répertoire racine NGinx (après l'installation / la configuration NGinx, je la modifie à peine)

Ceci est une préoccupation de sécurité ... Le feu et l'oublie sont ce qui semble être fait ici concernant le serveur.

Si l'application est dockerisée chaque fois que vous publiez une nouvelle version de votre application, le serveur NGinx obtient toutes les nouvelles mises à jour disponibles pour cela.

Gardez à l'esprit que si votre application ne publie pas de nouvelles versions dans une base hebdomadaire, vous devez envisager de reconstruire les images Docker au moins une semaine afin d'obtenir les mises à jour et de tout garder à jour avec les derniers correctifs de sécurité.

Alors, quel est le bénéfice du spa Dockerize?

même environnement à travers le développement, la mise en scène et la production. Ceci s'appelle 100% de parité à toutes les étapes, vous avez exécuté votre application, ce qui est vrai, quel que soit le type d'application que vous déployez.

Si quelque chose ne fonctionne pas dans la production, vous pouvez extraire l'image Docker par le digest et l'exécuter localement pour déboguer et essayer de comprendre où est le problème. Si vous avez besoin de SSH sur un serveur de production, cela signifie que votre pipeline d'automatisation a échoué ou que vous n'utilisez pas même une ...


2 commentaires

J'utilise Docker pendant un an. Je sais que l'un de ses objectifs est de résoudre "cela n'a pas eu lieu dans mon environnement". Je ne vois tout simplement pas comment cela s'applique aux fichiers de construction B / C NPM B / C NPM sont les mêmes, les versions NGIXN sont identiques même sans docker. Vérifiez également ma question mise à jour.


Je devrais reformuler que vous obtenez toutes les mises à jour du système d'exploitation dans le conteneur et tous les programmes installés. Si vous ne conservez pas votre logiciel à jour, vous ouvrez des trous de sécurité dans votre infrastructure, peu importe si dans des conteneurs, des ordinateurs virtuels ou du métal nu. L'intégration continue doit détecter lorsque de nouvelles mises à jour vous permettent de configurer.



0
votes

Outils tels que WebPack compile des applications JavaScript sur des fichiers statiques pouvant être servis avec votre choix de serveur HTTP. Une fois que vous avez construit votre spa, les fichiers construits sont indiscernables à partir de pages telles que index.html et d'autres actifs tels que des fichiers image: ce ne sont que des fichiers statiques qui sont servis par certains serveurs HTTP.

Un conteneur de docker encapsule un seul processus de fonctionnement. Il ne fait pas vraiment de bon travail pour contenir ces fichiers statiques en soi .

Vous voyez fréquemment des "conteneurs SPA Docker" qui exécutent un serveur HTTP orienté développement. Il n'y a pas d'avantage particulier à le faire, cependant. Vous pouvez obtenir une expérience de développement tout aussi bonne en développant votre application localement, exécutant NPM Exécuter Build ou quoi que ce soit pour créer un répertoire dist , puis publier cela de la même manière que vous " D Publier d'autres actifs. Un pipeline d'automatisation est utile ici, mais ce n'est pas une tâche docker rend extrêmement plus simple.

(N'oubliez pas non plus lorsque vous faites cela que l'application construite s'exécute sur le navigateur de l'utilisateur. Cela signifie qu'il ne peut voir aucune des machines de réseau Docker-interne: il ne peut pas utiliser les adresses IP de Docker-interne et elle peut Utilisez le service DOCKER DNS intégré. Tout ce qu'il atteint doit être sur Docker Run -P -P Ports publiés et il doit utiliser un nom DNS qui atteint l'hôte. Le navigateur n'a littéralement aucune idée Docker est impliqué dans cela du tout.)


1 commentaires

Je dois dire que je ne vois pas l'avantage d'utiliser Docker ici.



0
votes

Il y a quelques avantages.

Premièrement, la construction d'une image Docker signifie que vous indiquez explicitement quelle est la fonction canonique de votre application - cette version de NGinx, avec cette configuration SSL, quoi que ce soit. Les modifications apportées au temps d'exécution sont en contrôle de la source afin que vous puissiez mettre à niveau de manière prévisible et de manière réversible. Vous dites que vous ne voulez pas "la dernière version" - mais que si cette dernière version corrige une vulnérabilité de sécurité critique? Être capable de mettre à niveau de manière prévisible, sur des conteneurs "jetables" signifie que vous mettez à niveau lorsque vous le souhaitez.

Deuxièmement, si l'ensemble de l'équipe de développement utilise la même image Docker, vous évitez les défis avec différentes configurations donnant la réponse "Cela fonctionne sur ma machine" réponse aux bugs - dans les spas, différentes configurations de Nginx peuvent entraîner un comportement différent. Les nouveaux développeurs qui rejoignent l'équipe n'ont pas à installer ou à configurer quoi que ce soit et peut utiliser n'importe quel appareil qu'ils veulent - ils peuvent être certains que ce qui fonctionne dans Docker est le même que pour tous les autres développeurs.

Troisièmement, en ayant tous vos environnements contenus (pas seulement de développement, mais de test et de production), vous permet de déplacer des versions à travers le pipeline et de ne modifier que les valeurs spécifiques à l'environnement.

Maintenant, pour un spa, ces avantages sont réels, mais ne peuvent pas dépasser le coût et l'effort de créer et de maintenir des images Docker - inévitablement, l'image Docker devient un goulot d'étranglement et la première chose qui blâme. Je n'envisagerais que si vous voyez beaucoup de douleur spécifique à l'environnement (suggérant qu'un environnement de temps d'exécution cohérent est nécessaire), ou si vous voyez beaucoup de "cela fonctionne sur ma machine" type de bogue.


0 commentaires