2017-09-29 3 views
0

Voici à quoi ressemble mon Dockerfile. Comme vous pouvez le voir, j'essaie d'installer meteorJS, standardJS et certains paquets npm. Mais la dernière ligne semble poser quelques problèmes, car je ne peux pas installer les paquets npm. Au début, j'ai défini un utilisateur non-root, ce qui doit être fait pour que meteorJS fonctionne. Mais exactement cela fait des problèmes pour la dernière ligne ...Docker: Erreur lors de l'installation des paquets npm via Dockerfile

npm ERR! Error: EACCES: permission denied, access '/' 
npm ERR!  at Error (native) 
npm ERR! { [Error: EACCES: permission denied, access '/'] errno: -13, code: 'EACCES', syscall: 'access', path: '/' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 
npm ERR! Linux 4.4.0-31-generic 
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "gridfs-stream" "gm" "fluent-ffmpeg" 
npm ERR! node v4.2.6 
npm ERR! npm v3.5.2 
npm ERR! path npm-debug.log.4105014794 
npm ERR! code EACCES 
npm ERR! errno -13 
npm ERR! syscall open 

npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.4105014794' 
npm ERR!  at Error (native) 
npm ERR! { [Error: EACCES: permission denied, open 'npm-debug.log.4105014794'] 
npm ERR! errno: -13, 
npm ERR! code: 'EACCES', 
npm ERR! syscall: 'open', 
npm ERR! path: 'npm-debug.log.4105014794' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 
+0

Peut-être avez-vous oublié l'option '-g'? – Styx

+0

Note: Je recommande d'utiliser l'image de noeud officielle [noeud: 8.6] (https://hub.docker.com/_/node/) au lieu d'utiliser 'ubuntu: latest'. – k0pernikus

Répondre

0

La réponse est là:

Error: EACCES: permission denied, access '/'] 

Les paquets sont installés dans '/'

USER ${APP_USER} 

Entre ici et la commande suivante je vais changer mon répertoire de travail actuel à l'endroit où je voudrais que cela soit installé.

# MeteorJS 
RUN curl https://install.meteor.com/ | sh 
# StandardJS 
RUN npm install -g standard 
# NPM packages 
RUN npm install gridfs-stream gm fluent-ffmpeg