Я использую Keystonejs и docker-compose, когда отправляю новые изменения файла в свое веб-приложение. Как применить изменения?
docker-compose up
перезапустит сервер без применения изменений.
Что я делаю, так это удаляю изображение своего веб-приложения и снова запускаю docker-compose. Но это снова приведет к установке npm. На что уходит много времени. Есть ли способ применить небольшое изменение, такое как изменение html, без запуска npm install из Dockerfile?





Это поможет, если вы поделитесь своим файлом docker-compose.yml
Попробуйте выполнить шаги в таком порядке:
Если код находится на локальном хосте, используете ли вы том, чтобы поделиться им с контейнером докеров? Если нет, сначала попробуйте это. См. https://docs.docker.com/compose/compose-file/#volumes
Если совместное использование папки (тома) не работает, попробуйте такие инструменты, как https://github.com/remy/nodemon - согласно их веб-сайту, «nodemon - это инструмент, который помогает разрабатывать приложения на основе node.js, автоматически перезапуская приложение node при обнаружении изменений файлов в каталоге».
Старый вопрос и отсутствие docker-compose.yml, предоставленные исходным вопросом, но почти на 99% уверены, что проблема решена с помощью флага сборки в docker-compose
docker-compose up --build
это заставит перестроить образ и исправить исходный оператор:
"What I do is remove my web app image and fire docker-compose up again"
если повезет, в зависимости от вашего Dockerfile и docker-compose.yml он кеширует установку npm, а также исправляет
But this will do npm install again. Which takes a long time.
Надеюсь, это поможет любому, кто сталкивается с той же проблемой