我正在尝试让docker-compose在我的Windows 8机器上工作。我有以下docker-compose文件
version: '3'
services:
testweb:
build: .
command: npm run install
volumes:
- .:/usr/app/
working_dir: /app
ports:
- "3000:3000"
但是,当我使用docker-compose运行此程序时,出现错误消息,提示找不到package.json。我知道这与路径的映射有关。因此,我将文件夹移至c:\ users并尝试了相同的问题。然后,我移到c:\ users \并尝试,最终遇到相同的问题。我的虚拟盒子上的映射如下
有人知道如何解决此问题吗?
附上我的Dockerfile
FROM node:7.7.2-alpine
WORKDIR /usr/app
RUN apk update && apk add postgresql
COPY package.json .
RUN npm install --quiet
COPY . .
答案 0 :(得分:0)
可能是因为您在docker-compose文件中将工作目录设置为await page.goto(url)
await page.waitFor(() => typeof(testCase) !== "undefined") // <== WAITING
console.log(await page.evaluate(() => testCase));
,但是您的/app
在package.json
中。因此容器从错误的目录运行/usr/app
。
答案 1 :(得分:0)
要使Docker容器保持运转,您需要有一个正在运行的进程。在这种情况下,只要容器启动,它的命令npm start
就会一直运行。因此,您需要一个cmd或Entrypoint来启动正在运行的进程。请尝试这样的事情。如果您有任何疑问,请告诉我
FROM node:7.7.2-alpine
WORKDIR /usr/app
RUN apk update && apk add postgresql
COPY package.json .
RUN npm install --quiet
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]