проблема с развертыванием приложения create-реагировать с помощью докера - PullRequest
0 голосов
/ 02 октября 2019

Я пытаюсь развернуть проект create-реагировать на приложение, используя docker compose с помощью томов. Я использую Docker для Windows на компьютере с Windows 10. Я удалил папку node_modules из проекта, чтобы я мог использовать RUN npm install из файла Docker. Но я получаю следующие журналы ошибок:

$ docker-compose up --build                                                                                             Building web
Step 1/7 : FROM node:alpine
 ---> ef7d474eab14
Step 2/7 : ENV NPM_CONFIG_LOGLEVEL warn
 ---> Using cache
 ---> 12e0998d080a
Step 3/7 : WORKDIR '/app'
 ---> Using cache
 ---> 696072685749
Step 4/7 : COPY package.json .
 ---> Using cache
 ---> 2de967d1753e
Step 5/7 : RUN npm install
 ---> Using cache
 ---> 7fff07ced071
Step 6/7 : COPY . .
 ---> Using cache
 ---> b0722839dcb8
Step 7/7 : CMD ["npm", "run", "start"]
 ---> Using cache
 ---> f5a645333123
Successfully built f5a645333123
Successfully tagged frontend_web:latest
Starting frontend_web_1 ... done                                                                                        Attaching to frontend_web_1
web_1  |
web_1  | > frontend@0.1.0 start /app
web_1  | > react-scripts start
web_1  |
web_1  | sh: react-scripts: not found
web_1  | npm ERR! code ELIFECYCLE
web_1  | npm ERR! syscall spawn
web_1  | npm ERR! file sh
web_1  | npm ERR! errno ENOENT
web_1  | npm ERR! frontend@0.1.0 start: `react-scripts start`
web_1  | npm ERR! spawn ENOENT
web_1  | npm ERR!
web_1  | npm ERR! Failed at the frontend@0.1.0 start script.
web_1  | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
web_1  | npm WARN Local package.json exists, but node_modules missing, did you mean to install?
web_1  |
web_1  | npm ERR! A complete log of this run can be found in:
web_1  | npm ERR!     /root/.npm/_logs/2019-10-02T11_14_03_294Z-debug.log
frontend_web_1 exited with code 1

Мой dockerfile.dev ниже:

FROM node:alpine

ENV NPM_CONFIG_LOGLEVEL warn

WORKDIR '/app'

COPY package.json .
RUN npm install 

COPY . . 

CMD ["npm", "run", "start"]

И Docker-compose.yml выглядит следующим образом:

version : '3'
services : 
  web:  
    build: 
      context: .
      dockerfile: Dockerfile.dev
    ports: 
      - "3000:3000"
    volumes: 
      - .:/app 
      - /app/nodes_modules

Пожалуйста, дайте мне знать, какой шаг не является правильным?

1 Ответ

0 голосов
/ 02 октября 2019

Попробуйте после удаления последней строки в docker-compose.yml

- /app/nodes_modules

Я думаю, что проблема в том, что два тома - первый для родителя, который также принимает node_module как дочерний каталог, а второй том создается и управляется docker. Сам где-то для папки node_modules. Похоже, что конфликт между томами для папки node_module

...