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

Драйвер MySQL в Docker

Драйвер MySQL ставится в образ приложения и умеет открыть соединение по адресу. Зависимость попадает в package.json, а шаг npm install кладёт модуль в каталог пакетов шаблона. Сервер MySQL в этом уроке не обязателен: достаточно, что пакет лежит в образе.

Файл зависимостей с пакетом mysql2 такой:

{ "name": "app", "scripts": { "start": "node server.js" }, "dependencies": { "mysql2": "^3.0.0" } }

Скрипт server.js в этом уроке может быть заглушкой: главный процесс перекрывает команда в описании сервиса.

console.log('stub');

Образ собирают из node:24 с установкой npm до копирования скрипта:

FROM node:24 WORKDIR /app COPY package.json . RUN npm install COPY server.js . CMD ["node", "server.js"]

Сервис web собирается из точки и держится короткой командой проверки модуля:

services: web: build: . command: ["node", "-e", "require('mysql2')"]

Команда node -e с require('mysql2') завершается без ошибки, если пакет лежит в образе. Пересборка и фоновый подъём:

docker compose up -d --build

Добавьте зависимость mysql2 в шаблон сервиса lab и шаг установки npm перед копированием server.js.

Пересоберите проект и убедитесь, что короткая проверка загрузки модуля в lab проходит без ошибки.

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