Как оказалось , настройка create-react-app
в docker требует немного больше работы.
Основная проблема заключается в том, что подключенные тома недоступны на этапе сборки , поэтому при запуске node npm start
подключенные файлы проекта технически еще не существуют.
Таким образом, вам нужно сначала скопировать и установить проект, чтобы он запустился в первый раз, прежде чем монтируется том. После этого горячая перезагрузка работает нормально.
Вот моя последняя рабочая настройка:
docker-compose.yml
:
create-react-app:
build:
context: create-react-app
ports:
- 3000:3000
environment:
- NODE_PATH=/node_modules
- CHOKIDAR_USEPOLLING=true
volumes:
- ./create-react-app:/create-react-app
Dockerfile
:
FROM node:alpine
# Extend PATH
ENV PATH=$PATH:/node_modules/.bin
# Set working directory
WORKDIR /client
# Copy project files for build
ADD . .
# Install dependencies
RUN npm install
# Run create-react-app server
CMD ["npm", "run", "start"]