Перейти до основного вмісту

Docker-compose для створення Postgresql бази даних

Docker Compose — це інструмент, який дозволяє визначати та запускати багатоконтейнерні Docker-застосунки. Замість того, щоб вручну запускати кожен контейнер із довгими командами docker run, docker-compose.yml надає простий спосіб описати всю архітектуру додатка у вигляді YAML-файлу. Це дозволяє легко створювати, запускати, зупиняти та масштабувати сервіси за допомогою однієї команди, що значно спрощує розробку, тестування та розгортання застосунків.

Основні можливості Docker Compose включають: запуск кількох контейнерів одночасно, визначення мережі та спільних томів між контейнерами, налаштування змінних середовища та автоматичне підключення сервісів один до одного через імена сервісів. Він особливо корисний для локального середовища розробки, CI/CD-процесів і навіть невеликих продакшен-рішень, де потрібно швидко відтворити середовище для тестування або демонстрації.

Мінімальний docker-compose.yml для локального використання PostgreSQL без збереження даних після видалення контейнера (тобто без volume):


version: '3.8'

services:
  postgres:
    image: postgres:16
    container_name: my_postgres
    environment:
      POSTGRES_USER: devuser
      POSTGRES_PASSWORD: devpass
      POSTGRES_DB: devdb
    ports:
      - "5432:5432"
    restart: unless-stopped
    tmpfs:
      - /var/lib/postgresql/data

Пояснення:

  • tmpfs використовується замість volume, щоб дані зберігалися тільки в пам’яті й зникали після видалення контейнера.
  • POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB — змінні для створення користувача та бази при запуску.
  • restart: unless-stopped — щоб контейнер автоматично перезапускався після збоїв (опційно).

Запуск

docker-compose up -d

Зупинка й видалення:

docker-compose down

Коментарі