Bower dependsicies与Docker上的postinstall

问题描述:

可以使用docker-compose在docker上的package.json中的postinstall安装bower dependicies吗?Bower dependsicies与Docker上的postinstall

的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:

泊坞窗,compose.yml
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"] 

使用后
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 

和码头工人,组成了应用程序工作正常,但缺少我可以解决这个问题吗?

P.S

这是我在控制台后发现码头工人,组成了起来:

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

感谢

变化node ./node_modules/bower/bin/bower installbower install --allow-root在后脚本。 --allow-root是为了防止您的权限错误。

或者您可以删除后安装脚本并在Dockerfile中的RUN npm install之后添加RUN bower install --allow-root

而鲍尔需要git工作,你必须首先在你的Dockerfile中安装git。

+0

更改节点./node_modules/bower/bin/bower安装到bower安装--allow-root给我这个:bower bootstrap#^ 3.3.7 ENOGIT git未安装或不在PATH中 – Marcin

+0

您必须安装git首先,在你的dockerfile中添加apt-get update并安装git –