Environnement de développement modulaire basé sur node.js avec docker

Environnement de développement modulaire basé sur node.js avec docker - Javascript/Node.js - Programmation

Marsh Posté le 22-02-2022 à 16:13:31    

Bonjour,
 
Souhaitant avoir une machine non polluée par les différentes install de divers outils en vue de travailler sur des technologies très diverses, je me suis mis en tête de me concevoir un environnement de dev, basé sur du node.js dans un premier temps, dans un container docker.  
 
Le problème c'est que je sèche un peu et je n'arrive pas à trouver de tuto pour faire cela.
C'est dommage car je trouve que cela remplacerait avantageusement les machines virtuelles...
A un moment, j'étais bien parti mais le no demon ne fonctionne pas avec le docker...Et je ne trouve pas de solution à ce problème...
 
Est-ce que cela vous parle et si oui, auriez-vous quelques billes à ce sujet ?  
 
Merci à vous

Reply

Marsh Posté le 22-02-2022 à 16:13:31   

Reply

Marsh Posté le 23-02-2022 à 08:04:37    

Docker ne remplace les VM. Tu peux parfaitement trouver des containers Docker sur des VM.
Docker permet de déployer un logiciel avec toutes ses dépendances dans un container ce qui évite de polluer une machine avec des libs et autres trucs à droite à gauche.
Par contre, j'ai pas question, désolé.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-02-2022 à 09:50:29    

rufo a écrit :

Docker ne remplace les VM. Tu peux parfaitement trouver des containers Docker sur des VM.
Docker permet de déployer un logiciel avec toutes ses dépendances dans un container ce qui évite de polluer une machine avec des libs et autres trucs à droite à gauche.
Par contre, j'ai pas question, désolé.


Bonjour :)
 
Déjà merci pour ton retour.  
Je comprends que la piste docker n'est pas la bonne pour ce que je veux faire.  
Vu le peu d'info sur le net, ce n'est pas étonnant...
 
Si je devais résumer ma problématique principale ce serait :  
Me monter un environnement de dev consacré à une stack, et reproductible sans soucis. J'ai cru que docker pouvait remplacer une machine virtuelle pour ça mais apparemment non.  
Du coup, je suis bon pour me faire une image virtual box et basta ?  
 
Est-ce que VMWARE est plus performant que virtual box ?  
 
Merci d'avance :)


Message édité par jujuf1 le 23-02-2022 à 09:52:56

---------------
Du coup du coup …
Reply

Marsh Posté le 23-02-2022 à 10:14:49    

Peu d'info sur Docker sur le net, sérieux :??: T'as pas dû bien chercher.
Après, je pense que tu n'as pas compris mon propos. Si tu veux te faire une machine avec un environnement de dév sur telle techno, tu mets cette techno dans un container sur ta machine (qui peut être physique ou virtuelle, ça n'a pas d'importance). Ainsi, quand tu veux virer cette techno (ex : node.js, Apache/PHP/Mysql, ...), tu as justes à supprimer le container, celui-ci contenant la techno et toutes ses dépendances.
Autre avantage : une fois ton environnement bien configuré, c'est facile de l'envoyer sur une autre machine puisqu'il n'y a que le container à déployer.
 
Donc, Docker est bien adapté à ce que tu veux faire, je pense. La VM ne répond pas au même besoin. Docker est aussi une techno de virtualisation mais pas au même niveau que VMWare ou Virtualbox qui eux, virtualisent du matériel et un OS. Docker virtualise un environnement d'exécution si on peut dire. Mais Docker a besoin d'un OS hôte.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-02-2022 à 10:27:09    

rufo a écrit :

Peu d'info sur Docker sur le net, sérieux :??: T'as pas dû bien chercher.
Après, je pense que tu n'as pas compris mon propos. Si tu veux te faire une machine avec un environnement de dév sur telle techno, tu mets cette techno dans un container sur ta machine (qui peut être physique ou virtuelle, ça n'a pas d'importance). Ainsi, quand tu veux virer cette techno (ex : node.js, Apache/PHP/Mysql, ...), tu as justes à supprimer le container, celui-ci contenant la techno et toutes ses dépendances.
Autre avantage : une fois ton environnement bien configuré, c'est facile de l'envoyer sur une autre machine puisqu'il n'y a que le container à déployer.
 
Donc, Docker est bien adapté à ce que tu veux faire, je pense. La VM ne répond pas au même besoin. Docker est aussi une techno de virtualisation mais pas au même niveau que VMWare ou Virtualbox qui eux, virtualisent du matériel et un OS. Docker virtualise un environnement d'exécution si on peut dire. Mais Docker a besoin d'un OS hôte.


Merci. Donc finalement oui, ce que tu as reformulé est exactement ce que je veux faire. J'ai tenté de le faire avec node.js en suivant un tuto. Il m'a tout de même fallu installer node.Js sur la machine hote...et je n'ai jamais réussi à faire marcher nodemon.  
 
Concernant cette utilisation, je t'assure que je n'ai pas trouvé grand chose sur le net. Cela concerne plus l'empaquetage d'appli développées.


---------------
Du coup du coup …
Reply

Marsh Posté le 23-02-2022 à 11:11:48    

C'est pas comme s'il n'existait pas une image de node.js pour Docker : https://hub.docker.com/_/node   :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-02-2022 à 11:17:12    

rufo a écrit :

C'est pas comme s'il n'existait pas une image de node.js pour Docker : https://hub.docker.com/_/node   :o


oui je sais mais je ne sais pas trop comment l'utiliser et l'articuler avec le reste. Je sais qu'il y a docker compose donc faut que je creuse ce point.
Mais par exemple si je veux installer npm, et ensuite d'autres paquets, comment je fais pour les faire persister. Ce docker ne contient que node.

 

En tout cas j'ai réessayé les vm et je trouve que ce n'est pas utilisable.


Message édité par jujuf1 le 23-02-2022 à 11:25:13

---------------
Du coup du coup …
Reply

Marsh Posté le 23-02-2022 à 11:35:23    

Mais avant de te lancer, t'as regardé des tutos sur Docker, comment ça marche, les outils... :??:
Recherche en 5s : https://www.youtube.com/results?sea [...] min+docker


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-02-2022 à 11:38:03    

rufo a écrit :

Mais avant de te lancer, t'as regardé des tutos sur Docker, comment ça marche, les outils... :??:
Recherche en 5s : https://www.youtube.com/results?sea [...] min+docker


Bien sûr j’ai fait tourné quelque images. J’ai quelques cours udemy mais les cas d’usage ne m’intéressent pas.

 

Mais bon on va regarde ce qu’offre YouTube on sait jamais.

 

Mais bon déjà tu confirmes que ce que je veux faire est possible c’est déjà ça.
Après y’a rien de rien sur le net sur ça, sauf quelques stacks qui ne m’intéressent pas.


Message édité par jujuf1 le 23-02-2022 à 11:40:10

---------------
Du coup du coup …
Reply

Marsh Posté le 28-02-2022 à 09:22:41    

C'est quoi la demande exacte ?  
 
Code en local et faire tourner ton truc dans un container node ?
Y'a les volumes pour ça.  
En gros au run de ton container tu "mount" un volume de ton host dans ton container.
 
Si tu as besoin d'autres services que ton node (typiquement de la db) il faut en effet passer par docker-compose.
 
C'est quoi comme stack d'ailleurs ? C'est étonnant qu'il n'y ai rien sur le net


---------------
There's more to life than the boy in that mirror.
Reply

Marsh Posté le 28-02-2022 à 09:22:41   

Reply

Marsh Posté le 28-02-2022 à 10:11:31    

xtieu a écrit :

C'est quoi la demande exacte ?

 

Code en local et faire tourner ton truc dans un container node ?
Y'a les volumes pour ça.
En gros au run de ton container tu "mount" un volume de ton host dans ton container.

 

Si tu as besoin d'autres services que ton node (typiquement de la db) il faut en effet passer par docker-compose.

 

C'est quoi comme stack d'ailleurs ? C'est étonnant qu'il n'y ai rien sur le net


Salut. J’aimerais bien avoir une stack MERN.

 

Sinon oui la demande c’est bien ça. Je vois bien les outils à utiliser mais c’est juste que c’est compliqué à mettre en œuvre, tout ne marche pas comme attendu. Néanmoins il y a un tuto qui est donné par microsoft (node js) mais je crois que c’est sur la base que d’un seul container.


Message édité par jujuf1 le 28-02-2022 à 10:14:46

---------------
Du coup du coup …
Reply

Marsh Posté le 28-02-2022 à 10:49:19    

ok.
 
Donc je partirais sur un docker-compose avec 3 services (si j'ai bien compris ta stack):
- front avec juste le react (je connais pas react. y'a du hot reload en dev comme dans vue ? ) sur un image node aussi
- back sur une image node avec express
- mongo
 
un rep séparé pour le front et le back, monté dans les conteneurs et un autre pour la data mongo


---------------
There's more to life than the boy in that mirror.
Reply

Marsh Posté le 28-02-2022 à 16:40:03    

Merci je vais retenter. Ça coinçait au niveau du no démon quand j’avais essayé.  
 
Je vais regarder.


---------------
Du coup du coup …
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed