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

Введение в PostgreSQL для Python в Docker

Приложению нужна база рядом, а не установка сервера в систему. Сервер PostgreSQL поднимают отдельным сервисом в том же файле, где описано приложение на python:3.14. Скрипт Python обращается к базе по сети проекта, а не по порту на компьютере.

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

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

Строка psycopg[binary] в requirements.txt ставится шагом pip install с флагом -r при сборке образа. Пакет psycopg2, SQLAlchemy и Django здесь не используют: достаточно psycopg и модуля http.server для ответа на порту 8000 с публикацией 8080 на компьютере.

Скрипт выполняет запрос к таблице и отдаёт строку в теле ответа. Соседний сервер PostgreSQL стартует не мгновенно. Порядок запуска сдвигает создание контейнера приложения, а проверка здоровья ждёт ответа базы перед стартом Python. Образ сервера - postgres:18, учебный пароль - demo, база в примерах - db.

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