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

Адрес базы в Docker

Адрес базы собирают из имени сервиса, порта 5432, имени базы и пользователя. Соседи обращаются к db на этом порту, где слушает PostgreSQL. Контейнер приложения читает части адреса из окружения и пока лишь печатает, без открытия соединения драйвером.

Сервис db на postgres:18 с паролем demo, базой db и пользователем app. Сервис app на python:3.14 получает переменные и коротко выводит имя хоста и порт в консоль:

services: db: image: postgres:18 environment: POSTGRES_PASSWORD: demo POSTGRES_DB: db POSTGRES_USER: app app: image: python:3.14 environment: DB_HOST: db DB_PORT: "5432" DB_NAME: db DB_USER: app DB_PASSWORD: demo command: ["python", "-c", "import os; print(os.environ['DB_HOST'], os.environ['DB_PORT'], os.environ['DB_NAME'], os.environ['DB_USER'])"]

Значение db - это имя сервиса в сети Compose, а порт 5432 зададут в коде при подключении. Пакет psycopg для такой проверки не обязателен. Поднимем проект в фоне:

docker compose up -d

Части адреса читают в логах сервиса app:

docker compose logs app

Задайте сервису note переменные хоста data, порта 5432, базы db и пользователя app с коротким выводом этих значений в консоль на python:3.14.

Поднимите проект в фоне и зафиксируйте напечатанные части адреса в логах note.

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