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

Данные PostgreSQL в Docker

Данные базы лежат в именованном томе на /var/lib/postgresql и переживают пересоздание контейнера. Файлы пишутся в хранилище dbdata, а не только в слой работающей копии. У этой версии каталог данных лежит внутри тома, в /var/lib/postgresql/18/docker.

Сервис db на postgres:18 с паролем demo монтирует том dbdata в /var/lib/postgresql:

services: db: image: postgres:18 environment: POSTGRES_PASSWORD: demo volumes: - dbdata:/var/lib/postgresql volumes: dbdata:

После фонового подъёма создадим таблицу notes через клиент внутри сервиса:

docker compose up -d

Строка со словом hello:

docker compose exec db psql -U postgres -c "CREATE TABLE notes (id SERIAL PRIMARY KEY, body TEXT); INSERT INTO notes (body) VALUES ('hello');"

Контейнер сервера убирают без флага удаления томов:

docker compose rm -sf db

Новый фоновый подъём снова подключит dbdata. Чтение первой строки из notes показывает текст hello:

docker compose up -d

Проверка внутри сервиса:

docker compose exec db psql -U postgres -c "SELECT body FROM notes LIMIT 1;"

Подключите том ledger к /var/lib/postgresql для сервиса store с паролем demo и сохраните строку в таблице marks.

Пересоздайте контейнер сервера без удаления тома, поднимите проект снова и убедитесь, что строка в marks на месте.

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