Предпосылки
Linux 18.04
create-реакции-приложение 2.0
докер 19.09.0
Dockerfile
# base image
FROM node:9.6.1
# set working directory
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
# add `/usr/src/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH
ADD package.json /package.json
# install and cache app dependencies
COPY package.json /usr/src/app/package.json
RUN npm install --save --silent
RUN npm install react-scripts@latest -g --silent
# start app
CMD ["npm", "start"]
докер-compose.yml
version: '3.5'
services:
provisioning-app:
container_name: prv-app
build:
context: .
dockerfile: Dockerfile
volumes:
- '.:/usr/src/app'
- '/usr/src/app/node_modules'
ports:
- '3000:3000'
environment:
- NODE_ENV=development
Проблема
Все работало просто отлично, но после установки нового пакета докер перестал работать как положено. Каждый раз, когда я запускаю docker-compose up
, он завершается с ошибкой «Модуль не найден».
Пока npm start
отлично работает.
Я пробовал довольно много обходных путей, найденных в сети:
- перезагрузите компьютер
- удалить папку node_modules и снова запустить
npm i
- различные комбинации
npm install
/ --save
/ включая - сохранить в Dockerfile
Это просто не работает, и я не могу справиться с этим самостоятельно. Есть идеи, почему это может происходить?
Обновление
Странно, но этот код работает. Я новичок в Docker, так что я понятия не имею, в чем разница
docker run -it \
-v ${PWD}:/usr/src/app \
-v /usr/src/app/node_modules \
-p 3000:3000 \
--rm \
prov-app