2
votes

installer des packages de nœuds sans redémarrer docker compose

Existe-t-il un moyen d'installer des packages de nœuds dans un environnement docker en cours d'exécution sans redémarrer? J'ai exécuté quelques conteneurs via docker-compose et je dois utiliser npm i pendant que les conteneurs sont en cours d'exécution.

Jusqu'à présent, je n'ai trouvé aucune réponse cohérente à Google.


0 commentaires

3 Réponses :


0
votes

Vous pouvez exécuter n'importe quelle commande dans un conteneur actif en utilisant docker exec . Dans votre cas, ce sera:

// Replace <your-container-id> and <your-package-name>
docker exec -it $(docker ps | grep <your-container-name> | awk '{ print $1 }') "npm install <your-package-name>"

ou si vous souhaitez utiliser un nom de conteneur au lieu d'un identifiant de conteneur vous pouvez utiliser:

// Replace <your-container-id> and <your-package-name>
docker exec -it <your-container-id> "npm install <your-package-name>"

Ici vous avez plus d'informations sur le docker exec docker exec commande. (Docker Docs)


1 commentaires

Cela ne fonctionne pas pour moi car j'obtiens: Echec de l'exécution OCI: Echec de l'exec: container_linux.go: 349: le démarrage du processus de conteneur a provoqué "exec: \" npm install node-red-contrib-env \ ": fichier exécutable introuvable dans $ PATH ": inconnu



0
votes
docker exec -it [container-id] /bin/bash
cd to the workspace and npm install packagename . Should install the package you want and also add it in package.json

0 commentaires