鲍尔依赖于​​Docker上的postinstall

docker-compose在docker上使用postinstall在package.json中安装bower dependicies是可能的吗?

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"] 

泊坞窗,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 

而使用后docker – 组成了应用程序工作正常,但遗漏的依赖政策,我可以解决这个问题吗?

PS

这是我在docker-up后在控制台中发现的:

 npm WARN lifecycle mongocrud@0.0.0~postinstall: cannot run in wd %s %s (wd=%s) mongocrud@0.0.0 node ./node_modules/bower/bin/bower install /application 

谢谢

node ./node_modules/bower/bin/bower installbower install --allow-root后安装脚本中。 --allow-root是为了防止你的权限错误。

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

而且bower需要git才能工作,所以你必须首先在你的Dockerfile中安装git。