Введение в разработку Node в Docker
Собранный образ неудобен, когда строку кода меняют каждую минуту. Пересборка тянет минуты, а правка на диске ждёт сразу после сохранения файла. Раздел про повседневную работу рядом с контейнером, а не про один раз собранный шаблон.
Код с диска монтируют в
/app, и сервер читает
server.js с хоста.
Образ node:24 остаётся
готовым, а текст скрипта
меняют в папке проекта.
Порт 3000 публикуют
как в разделе приложения,
без стороннего фреймворка.
Каталог зависимостей держат
отдельным анонимным томом
на /app/node_modules.
Иначе пустая папка с хоста
затирает пакеты, которые
npm install положил
в образ при сборке.
Две строки в volumes
работают вместе: код с диска
и пакеты внутри копии.
Перезапуск при правке даёт
флаг --watch у node:
процесс следит за файлом
и поднимает скрипт снова
после сохранения.
Сторонний пакет для этого
не ставят - достаточно
встроенной возможности Node.
Переменные приложения передают
значение в process.env
без правки файла на диске.
Строка в environment
меняет ответ страницы
при следующем подъёме службы.
Логи приложения читают текст,
который скрипт напечатал
при старте в фоне.
Короткая команда внутри
уже работающего сервиса
не заменяет главный процесс
с node server.js.
Уроки раздела разбирают
каждый приём отдельно
на node:24 и порту
3000.