Сервис PostgreSQL в Docker
Сервис базы берёт образ
postgres:18
и пароль,
порт наружу для приложения
не нужен.
Оба процесса живут
в одной сети Compose,
и соседи обращаются
друг к другу по имени
службы из файла.
Приложение к базе
в этом уроке ещё не ходит:
важен только факт,
что сервер рядом.
Сервис db
получает пароль demo
без строки портов
на компьютер.
Сервис app
на python:3.14
держится в фоне,
чтобы файл оставался
коротким и без базы:
services:
db:
image: postgres:18
environment:
POSTGRES_PASSWORD: demo
app:
image: python:3.14
command: ["sleep", "infinity"]
Имя db внутри проекта
указывает на сервер PostgreSQL.
Соседний контейнер
видит его по этому имени,
хотя снаружи проекта
порт 5432
не опубликован.
Поднимем оба сервиса
в фоне:
docker compose up -d
В списке сервисов
работают db
и app.
Процесс в app
лишь ждёт,
а сервер в db
уже слушает сеть
проекта под именем
db.
Опишите сервис store на postgres:18 с паролем demo без порта наружу и соседа note на python:3.14 с ожиданием в фоне.
Поднимите проект в фоне и отметьте, что имя store видно соседям внутри сети.