РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcNdMyInr 32 of 39 menu
◀ ▶

Введение в MySQL для Node в Docker

Приложению нужна база рядом, а не установка сервера в систему. Сервер MySQL поднимают отдельным сервисом в том же файле, где описано приложение на node:24. Код Node обращается к базе по сети проекта, а не по порту на компьютере.

Файлы базы держат в именованном томе на /var/lib/mysql, чтобы новый контейнер сервера не начинал с пустого диска. Пароль root, база приложения и отдельный пользователь задают переменными окружения только при первом старте пустого тома. Подробности тома, конфигурации и скриптов первого запуска разбирают в учебнике MySQL.

Имя хоста внутри проекта совпадает с именем сервиса базы, а не с localhost. Соседи видят сервер db и порт 3306. Приложение читает адрес из переменной окружения и передаёт его драйверу.

Пакет mysql2 ставят в образ приложения шагом npm install при сборке. Пакет mysql и слой ORM здесь не используют: достаточно mysql2 и встроенного модуля http для ответа на порту 3000.

Скрипт выполняет запрос к таблице и отдаёт строку в теле ответа. Соседний сервер MySQL стартует не мгновенно. Простой порядок запуска лишь сдвигает создание контейнера приложения, а проверка здоровья ждёт ответа базы перед стартом Node.

Уроки раздела идут от описания сервиса до запроса из скрипта и ожидания готовности. Образ сервера - mysql:9.7, образ приложения - node:24, учебный пароль - demo, база и пользователь - app там, где нужна авторизация. Дамп и восстановление в этот раздел не входят.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить