docker-compose для получения проекта узла не может найти package.json в windows - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь заставить 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 голосов
/ 14 декабря 2018

Для того, чтобы док-контейнер оставался в рабочем состоянии, вам нужно запустить процесс.В этом случае это команда 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" ]
0 голосов
/ 14 декабря 2018

Это может быть потому, что вы установили рабочий каталог на /app в вашем файле docker-compose, но ваш package.json находится в /usr/app.Таким образом, контейнер запускается npm run install из неправильного каталога.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...