docker-составьте с томами - "нет такого файла или каталога" для package.json - PullRequest
0 голосов
/ 18 октября 2019

У меня есть Dockerfile и файл docker-compose.yml. Все работает нормально, пока я не добавлю строки томов в файл docker-compose. Когда я добавляю тома, я получаю ошибку ниже. Я использую панель инструментов Docker с Oracle VM VirtualBox для Windows 7.

Dockerfile

FROM node:10.16.3

WORKDIR /usr/src/facerecognitionbrain-api

COPY ./ ./

RUN npm install

CMD ["/bin/bash"]

docker-compose.yml

version: '3.7'

services:
 facerecognitionbrain-api:
  container_name: backend
  # image: node:10.16.3
  build: ./
  command: npm start
  working_dir: /usr/src/facerecognitionbrain-api
  ports:
  - "3008:3008"
  volumes:
  - ./:/usr/src/facerecognitionbrain-api

Ошибка

backend                     | npm ERR! code ENOENT
backend                     | npm ERR! errno -2
backend                     | npm ERR! syscall open
backend                     | npm ERR! enoent ENOENT: no such file or directory, open '/usr/src/facerecognitionbrain-api/package.json'
backend                     | npm ERR! enoent This is related to npm not being able to find a file.
backend                     | npm ERR! enoent
backend                     |
backend                     | npm ERR! A complete log of this run can be found in:
backend                     | npm ERR!     /root/.npm/_logs/2019-10-18T10_24_08_071Z-debug.log
backend exited with code 254

1 Ответ

1 голос
/ 18 октября 2019

Я думаю, что вы должны создать том только подкаталог / каталог вашего WORKDIR, а не полный /usr/src/facerecognitionbrain-api.

Здесь создается том, а затем npm пытается прочитать package.json, но docker ищет файл на томе, который пуст.

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