我在docker-compose
上拥有这部分,它将复制angular-cli
前端和scripts
目录。
www:
build: ./www
volumes:
- ./www/frontend:/app
- ./www/scripts:/scripts
command: /scripts/init-dev.sh
ports:
- "4200:4200"
- "49153:49153"
Dockerfile
中的www
将安装npm。
FROM node:10-alpine
RUN apk add --no-cache git make curl gcc g++ python2
RUN npm config set user 0
RUN npm config set unsafe-perm true
RUN npm install
和脚本:
#!/bin/bash
echo "Serving.."
cd /app && npm run-script start
我正在运行docker-compose down && docker-compose build && docker-compose up
命令:
www_1 | standard_init_linux.go:190: exec user process caused "no such file or directory"
我认为错误来自command
行。
答案 0 :(得分:1)
遇到类似的问题,您可以尝试向此文件添加execute
特权
chmod +x www/scripts/init-dev.sh
答案 1 :(得分:1)
您很有可能按错误的顺序进行操作。
我不是Node方面的专家,但是您需要package.json或任何用于npm安装的工具来完成这项工作。我猜它在/ app中。但是在构建时,/ app无处可见,因为Dockerfile中没有提到它。
尝试在脚本npm install
中移动cd /app && npm install && npm run-script start
。