2017-07-07 3 views
0

Il est possible d'installer des dépendances de bower à l'aide de postinstall dans package.json sur docker-docker-composer?Dépendances de Bower avec postinstall sur Docker

fichier package.json:

{ 
     "name": "mongocrud", 
     "version": "0.0.0", 
     "private": true, 
     "scripts": { 
     "start": "node ./config/server.js", 
     "postinstall": "node ./node_modules/bower/bin/bower install", 
     "test": "mocha" 
     }, 
     "dependencies": { 
     //dependicies 
     } 
    } 

Dockerfile:

FROM node:7.7.2-alpine 

WORKDIR /application 

COPY package.json . 

COPY bower.json . 

COPY .bowerrc . 

RUN npm install -g bower 

RUN npm install 

COPY . . 

EXPOSE 3000 

CMD ["npm", "start"] 

docker-compose.yml:

version: '3' 

services: 
    mongodb: 
     image: mongo:3.4.4 
     command: mongod 
     container_name: mongo-container 
     ports: 
      - 27017:27017 

    express: 
     build: . 
     container_name: express-container 
     ports: 
      - 3000:3000 
     working_dir: /application 

     links: 
      - mongodb 
     command: npm start 

Et après utilisation docker-up composer application fonctionne bien, mais manquant dépendances de bower, puis-je résoudre ce problème?

P.S

Ce que je trouve dans la console après docker-Compose jusqu'à:

npm WARN lifecycle [email protected]~postinstall: cannot run in wd %s %s (wd=%s) [email protected] node ./node_modules/bower/bin/bower install /application 

Merci

Répondre

0

Changer node ./node_modules/bower/bin/bower install-bower install --allow-root dans le script postinstall. Le --allow-root est de vous éviter des erreurs d'autorisation. Vous pouvez également supprimer le script de post-installation et ajouter RUN bower install --allow-root après RUN npm install dans le Dockerfile.

Et bower a besoin de git pour fonctionner, vous devez d'abord installer git dans votre Dockerfile.

+0

Changement de nœud ./node_modules/bower/bin/bower installer pour installer bower --allow-root donnez-moi ceci: bower bootstrap #^3.3.7 ENOGIT git n'est pas installé ou pas dans le PATH – Marcin

+0

Vous devez installer git d'abord, dans votre dockerfile, ajoutez apt-get update et installez git –