Настройка create-react-app только в оболочке docker shell

Мне интересно, знает ли кто-нибудь, почему не принято запускать create-react-app из оболочки.

Целью здесь является попытка избежать необходимости установки пакетов на мою локальную машину для create-react-app, поскольку я никогда не буду запускать 'npm start' на моей локальной машине, а скорее из оболочки.

Причина, по которой я спрашиваю, в том, что я знаю, что это можно сделать в Django. В Django это можно сделать любым способом: либо создать 'startproject' на локальной машине, затем создать Dockerfile и файл docker-compose.yml, либо создать пустую папку 'app' в корневой папке, запустить Dockerfile и файл docker-compose, войти в оболочку и сделать startproject из оболочки без проблем, если только у вас правильно настроены тома.

Возможно, это просто мое непонимание того, как строятся проекты Django dev по сравнению с проектами React dev. Или это может быть просто то, как работает образ python по сравнению с образом node из dockerhub. Я смог создать простой Dockerfile (ниже). Затем запустить 'docker-compose build', затем запустить 'docker-compose run react_app sh -c "npx create-react-app ." ' и это сработало, но это все равно копирует все модули node_modules.

Часть, которая интересует и смущает меня больше всего: Для проектов django нам нужно запускать команды migrations и startapp в оболочке, чтобы они работали правильно и не вызывали проблем. IE 'docker-compose run --rm django_api sh -c "python manage.py startapp {app_name}" '. В то время как react работает просто отлично, выполняя новую "npm install {npm package}" на вашей локальной машине и новый docker-compose up или build.

Просто ищу разъяснения и понимания. Если то, о чем я спрашиваю, вообще возможно/необходимо и почему

FROM node:14.18-alpine
WORKDIR /app
COPY /app .
Вернуться на верх