примерами, кто-нибудь понимает зачем здесь на 13-ой строке повторная установка зависимостей? https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile.multistage
Ведь на 8-ой уже всё установили...
Чтобы в node_modules не было devDependencies, я полагаю
Я думаю, идея тут такая: есть devDependencies, и есть dependencies. В dev ты относишь все зависимости, которые при запуске ноды не нужны. Сначала ты ставишь все зависимости, включая dev, чтобы собрать проект. А затем удаляешь все и ставишь только dependencies. По итогу у тебя контейнер имеет папку, в которую собрался проект и только те зависимости, которые необходимы для запуска. Еще это может выглядеть так RUN npm ci && npm run build && rm -rf node_modules && npm ci --production
теперь понял, спасибо. однако, странно, что всё это дело запускается от рута, во многих гайдах я видел, как рекомендуют использовать другое имя для работы с системой: USER node
Обсуждают сегодня