Docker -создание томов, не синхронизирующихся с локальными файлами, работает, когда я удаляю том для локального файла - PullRequest
0 голосов
/ 23 января 2020

вчера я обновил Docker до версии Docker version 19.03.5, build 633a0ea на Windows 10 Pro. Все проекты работали правильно, и никакие дополнительные настройки не были выполнены.

.dockerignore

node_modules
npm-debug.log
.gitignore
.env

docker-compose.yml

version: '3.7'
services:
  backend:
    build:
      context: .
    volumes:
      - .:/usr/src/app
      - node_modules:/usr/src/app/node_modules
      - .git:/usr/src/app/.git
    ports:
      - '5000:5000'
      - '9229:9229'
    links:
      - mongo
    environment:
      - CHOKIDAR_USEPOLLING=true
  mongo:
    image: mongo
    ports:
      - '27017:27017'

volumes:
  node_modules:

Dockerfile

FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 5000
CMD npm run server

После выполнения docker-compose up --build я получаю следующую ошибку:

backend_1  | > nodemon server.js
backend_1  |
backend_1  | sh: 1: nodemon: not found
backend_1  | npm ERR! code ELIFECYCLE
backend_1  | npm ERR! syscall spawn
backend_1  | npm ERR! file sh
backend_1  | npm ERR! errno ENOENT
backend_1  | npm ERR! project-api@1.0.1 server: `nodemon server.js`
backend_1  | npm ERR! spawn ENOENT
backend_1  | npm ERR!
backend_1  | npm ERR! Failed at the project-api@1.0.1 server script.
backend_1  | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
backend_1  |
backend_1  | npm ERR! A complete log of this run can be found in:
backend_1  | npm ERR!     /root/.npm/_logs/2020-01-23T04_11_11_071Z-debug.log

Моя структура папок следующая:

root
  | client
    | .dockerignore
    | docker-compose.yml
    | Dockerfile
    | package-lock.json
    | package.json
  ...
  | .dockerignore
  | docker-compose.yml
  | Dockerfile
  | package-lock.json
  | package.json
  | server.js

Как видите, я также у вас есть другой проект, и он работает так, как должен.

1 Ответ

0 голосов
/ 23 января 2020

Обновление package.json с указанием локального пути к узлу узла из папки node_modules.

, например:

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