К содержимому
1CENT

Docker Compose: приложение с базой данных

Пример compose.yaml с PostgreSQL, томом и переменными окружения.

Обновлено 29 октября 2026 г.

compose.yaml

services:
  db:
    image: postgres:17
    environment:
      POSTGRES_PASSWORD: secret
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: unless-stopped
  app:
    build: .
    ports:
      - "127.0.0.1:3000:3000"
    environment:
      DATABASE_URL: postgres://postgres:secret@db:5432/postgres
    depends_on:
      - db
    restart: unless-stopped
volumes:
  pgdata:

Команды

docker compose up -d
docker compose logs -f app
docker compose pull && docker compose up -d

Публикуйте порт как 127.0.0.1:3000:3000: Docker сам открывает порты в обход UFW, и 3000:3000 сделает приложение доступным всему интернету.