Как обновить Strapi в контейнере Docker? - PullRequest
0 голосов
/ 27 апреля 2019

Я запустил Strapi с Docker-compose.Прочитав Руководство по миграции , я все еще не знаю, хочу ли я перейти на следующую версию, какой метод выбрать:

  1. В каталоге проекта Strapi выполнитеnpm install strapi@<next version> -g и npm install strapi@<next version> --save
  2. docker exec -it <strapi container> sh, перейдите в каталог проекта Strapi, затем выполните npm install strapi@<next version> -g и npm install strapi@<next version> --save
  3. Ни того, ни другого?

1 Ответ

0 голосов
/ 27 апреля 2019
  1. В локальном дереве разработчиков обновите версию пакета в файле package.json.Запустите npm install или yarn install локально.Запустите ваше приложение.Убедитесь, что это работает.Запустите ваши тесты.Исправьте все проблемы совместимости при обновлении.Делайте все это без участия Docker.

  2. Перезапустите docker build ., чтобы перестроить образ Docker с новыми зависимостями пакетов.

  3. Остановите старый контейнер, удалите его и запустите новый контейнер с новым образом.

Как правило, вы никогда не должны устанавливать что-либо в работающий контейнер.Удалять контейнеры очень обычно, и при этом все содержимое контейнера будет потеряно.

Существует общий «шаблон» запуска Node в Docker, привязки к нему приложения, а затем подключенияанонимный том в каталоге node_modules.Для рутинной разработки я обнаружил, что намного проще просто установить Node на мой хост (это буквально одна команда apt-get install или brew install).Если вы используете эту установку, ориентированную на Docker, анонимный том для node_modules не заметит, что вы изменили каталог node_modules, и вам придется перезапустить docker build, а также удалить и воссоздать ваши контейнеры.

...