Docker 上安装后的 Bower 依赖项
Bower dependicies with postinstall on Docker
可以使用 docker 上的 package.json 中的 postinstall 和 docker-compose?
安装 Bower 依赖项
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
}
}
Docker 文件:
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
使用后 docker-compose up 应用程序工作正常但缺少 bower 依赖项,我可以修复它吗?
P.S
这是我在 docker-compose 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 install
更改为 bower install --allow-root
。 --allow-root
是为了防止你的权限错误。
或者您可以删除安装后脚本并在 Dockerfile 中的 RUN npm install
之后添加 RUN bower install --allow-root
。
Bower 需要 git 才能工作,您必须先在 Dockerfile 中安装 git。
可以使用 docker 上的 package.json 中的 postinstall 和 docker-compose?
安装 Bower 依赖项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
}
}
Docker 文件:
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
使用后 docker-compose up 应用程序工作正常但缺少 bower 依赖项,我可以修复它吗?
P.S
这是我在 docker-compose 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 install
更改为 bower install --allow-root
。 --allow-root
是为了防止你的权限错误。
或者您可以删除安装后脚本并在 Dockerfile 中的 RUN npm install
之后添加 RUN bower install --allow-root
。
Bower 需要 git 才能工作,您必须先在 Dockerfile 中安装 git。