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сделает приложение доступным всему интернету.