Я пытаюсь запустить простое приложение реакции, используя Dockerfile и docker-compose.Однако, когда я запускаю команду docker-compose up, происходит сбой с ошибкой, что package.json не существует.Я предполагаю, что монтирование тома докера каким-то образом перезаписывает этот файл.
Может кто-нибудь подсказать, пожалуйста, какой-нибудь обходной путь к нему.
Dockerfile
FROM node:alpine
WORKDIR /apps
COPY package.json .
RUN npm install
COPY . .
CMD ["npm","run","start"]
Docker-compose.yml
version: '3'
services:
react-app:
build:
context: .
dockerfile: Dockerfile.dev
ports:
- "3000:3000"
volumes:
- /apps/node_modules
- ./:/apps
Вывод
docker-compose up --build
Building react-app
Step 1/6 : FROM node:alpine
---> ebbf98230a82
Step 2/6 : WORKDIR /apps
---> Using cache
---> 52ab3e742158
Step 3/6 : COPY package.json .
---> Using cache
---> b88a10e48c6f
Step 4/6 : RUN npm install
---> Using cache
---> 1da097307540
Step 5/6 : COPY . .
---> Using cache
---> c748991eb661
Step 6/6 : CMD ["npm","run","start"]
---> Using cache
---> e138b3c17689
Successfully built e138b3c17689
Successfully tagged frontend_react-app:latest
Starting 86e0c20b7955_frontend_react-app_1 ... done
Attaching to 86e0c20b7955_frontend_react-app_1
86e0c20b7955_frontend_react-app_1 | npm ERR! path /apps/package.json
86e0c20b7955_frontend_react-app_1 | npm ERR! code ENOENT
86e0c20b7955_frontend_react-app_1 | npm ERR! errno -2
86e0c20b7955_frontend_react-app_1 | npm ERR! syscall open
86e0c20b7955_frontend_react-app_1 | npm ERR! enoent ENOENT: no such file or directory, open '/apps/package.json'
86e0c20b7955_frontend_react-app_1 | npm ERR! enoent This is related to npm not being able to find a file.
86e0c20b7955_frontend_react-app_1 | npm ERR! enoent
86e0c20b7955_frontend_react-app_1 |
86e0c20b7955_frontend_react-app_1 | npm ERR! A complete log of this run can be found in:
86e0c20b7955_frontend_react-app_1 | npm ERR! /root/.npm/_logs/2019-02-12T14_36_59_257Z-debug.log
86e0c20b7955_frontend_react-app_1 exited with code 254
Структура папки
--node_modules
--package.json
--Dockerfile.dev
--Docker-compose.yml
EDIT ---
Попытка заставить мое приложение реагировать на изменения в источникекод без необходимости перестраивать изображение.Для этого мне нужно это крепление для работы.