docker-compose为节点项目获取无法在Windows上找到package.json

时间:2018-12-14 02:23:42

标签: node.js docker

我正在尝试让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 \并尝试,最终遇到相同的问题。我的虚拟盒子上的映射如下

enter image description here

有人知道如何解决此问题吗?

附上我的Dockerfile

FROM node:7.7.2-alpine

WORKDIR /usr/app

RUN apk update && apk add postgresql

COPY package.json .
RUN npm install --quiet

COPY . .

2 个答案:

答案 0 :(得分:0)

可能是因为您在docker-compose文件中将工作目录设置为await page.goto(url) await page.waitFor(() => typeof(testCase) !== "undefined") // <== WAITING console.log(await page.evaluate(() => testCase)); ,但是您的/apppackage.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" ]