Сервис MySQL в Docker
Сервис MySQL поднимает сервер в том же проекте, что и приложение. Оба процесса живут в одной сети Compose, и соседи обращаются друг к другу по имени службы из файла. Приложение к базе в этом уроке ещё не ходит: важен только факт, что сервер рядом.
Сервис db берёт образ
mysql:9.7
и пароль root demo
без строки портов
на компьютер.
Сервис web
на node:24
держится в фоне,
чтобы файл оставался
коротким и без базы:
services:
db:
image: mysql:9.7
environment:
MYSQL_ROOT_PASSWORD: demo
web:
image: node:24
command: ["sleep", "30"]
Имя db внутри проекта
указывает на сервер MySQL.
Соседний контейнер
видит его по этому имени,
хотя снаружи проекта
порт 3306
не опубликован.
Поднимем оба сервиса
в фоне:
docker compose up -d
В списке сервисов
работают db
и web.
Процесс в web
лишь ждёт,
а сервер в db
уже слушает сеть
проекта под именем
db.
Опишите сервис store на mysql:9.7 с паролем root demo без порта наружу и соседа idle на node:24 с ожиданием в фоне.
Поднимите проект в фоне и отметьте, что имя store видно соседям внутри сети.