因此,情况是我将bash脚本与docker耦合在一起。我使用bash脚本从远程存储库中提取代码,然后执行docker-compose
这是我的dockerfile
FROM node:6
WORKDIR /home/ayush/project-folder
RUN pwd
RUN npm run build
CMD ["forever", "server/app.js"]
这是我的docker-compose.yml
中列出了上述服务的部分:
web:
build: ./client
environment:
- NODE_VERSION=$NODE_WEB_VERSION
ports:
- "4200:4200"
api:
这是我简单的bash脚本
#!/usr/bin/env bash
frontend=$1
backend=$2
git clone //remote_url --branch $frontend --single-branch
mv project-folder ~/
docker-compose up
但是问题是RUN npm run build gives error
enoent ENOENT: no such file or directory, open '/home/ayush/project-folder/package.json'
可能是什么问题?
答案 0 :(得分:2)
您忘记了在构建时使用
复制项目...
COPY . ./
RUN npm run build
...
这会将整个构建上下文(./client
的内容)复制到工作目录,该目录在上一条语句中已设置为/home/ayush/project-folder
。