0
votes

NPM ERR! Script manquant: servir

Obtenir une erreur lors du démarrage du conteneur Docker. J'utilise Nodemon pour écouter les modifications du fichier.

dockerfile p> xxx pré>

package.json p> xxx pré>

P>

docker run -p 3000:8080 -v /app/node_modules -v pwd:/app test/nodeapp1.


3 commentaires

Comment vous construisez le conteneur Docker @Amruta


Veuillez ajouter les erreurs et NODEMON devrait être un droit de dépendance globale


On dirait que votre commande de construction n'est pas appropriée ce qui est .dev


3 Réponses :


0
votes

Faites ces modifications dans votre DockerFile

docker run -p 3000:8080 -v /app/node_modules -v pwd:/app prac/nodeApp


6 commentaires

J'ai changé le workdir vers une nouvelle valeur et cela a fonctionné. Pas sûr y Il n'a pas fonctionné avec / app du nœud: Package de copie alpine workdir '/ dir'.json. Exécutez la copie d'installation NPM. . Cmd ["NPM", "Run", "Servir"]


Je viens de réaliser que mon workdir est / dir, mais le volume est une application, le dernier paquet.json est toujours copié à l'application, mais si je change de volume sur Dir, je reçois la même erreur.


Pouvez-vous essayer la version ci-dessus si cela aide


Le WorkDir dans votre code Snippet est différent du volume, j'ai la même chose dir et app, ma question est que ma question est si WorkDir et le volume sont identiques pourquoi il ne fonctionne pas. J'ai essayé votre code, copie. $ {Home} la commande est manquante du fichier docker. Si j'ajoute que ça marche.


et s'il vous plaît ajouter aussi la commande de construction dans votre question, il rendra la question plus claire


Obtenir la même erreur maintenant. NPM ERR! Script manquant: servir



0
votes

Changer le WorkDir sur une nouvelle valeur fonctionnée.

FROM node:alpine

WORKDIR '/dir'

COPY package.json .

RUN npm install

COPY . .

CMD [ "npm" ,"run", "serve" ]


0 commentaires

0
votes

Votre Docker Run -V Les options sont incorrectes. Vous vouliez probablement réellement écrire xxx

pour utiliser le répertoire actuel (à partir de la variable d'environnement pwd ou de la commande pwd respectivement) comme un montez .

J'ai tendance à ne pas recommander Ce modèle, en particulier pour les applications de nœud où les dépendances hôtes sont minimes et que vous n'interagissez pas beaucoup avec d'autres conteneurs. Il est probablement plus facile de simplement installer le noeud localement (si vous ne l'avez pas déjà) et que le développement en direct contre cela; Lorsque vous souhaitez utiliser Docker pour déployer votre application, utilisez la version que vous avez Copier ED dans l'image et n'utilisez pas séparément une option -v pour injecter votre code sur elle.


0 commentaires