Как пользоваться: Генератор Docker Compose
- Отметьте сервисы, которые нужны вашему проекту, например приложение на Node.js + Postgres + Redis + Adminer.
- Настройте порты на хосте, имена баз данных и пользователей. Пароли генерируются случайно и сохраняются в файле
.env. - Оставьте включённым пункт Healthchecks, чтобы приложение запускалось только после того, как база данных начнёт принимать подключения.
- Скачайте
compose.yamlи.envв папку проекта и выполните командуdocker compose up -d.
Что содержит сгенерированный файл
| Часть | Зачем она нужна |
|---|---|
Закреплённые теги образов (postgres:17-alpine) | Воспроизводимые сборки: latest может перейти на новую мажорную версию и сломать базу данных. |
| Именованные тома | Данные сохраняются после docker compose down и пересборки контейнеров. |
healthcheck + depends_on: condition: service_healthy | Приложение ждёт, пока база данных действительно будет готова, а не просто запущена. |
Ссылки ${VAR} | Секреты хранятся в .env, а не в YAML-файле, который попадает в репозиторий. |
Привязка портов 127.0.0.1: | Базы данных доступны с вашего компьютера, но не из всей сети. |
Больше не нужен version:
Ключ верхнего уровня version: "3.8" устарел в спецификации Compose, которую использует Docker Compose v2, и лишь выводит предупреждение. Современные файлы начинаются сразу с services: и обычно называются compose.yaml (старое имя docker-compose.yml также работает).
Имена сервисов — это имена хостов
Внутри сети Compose контейнеры обращаются друг к другу по имени сервиса: приложение подключается к postgres:5432, а не к localhost:5432. Генератор соответствующим образом формирует DATABASE_URL и REDIS_URL для приложения.
Связанные инструменты
Превратите существующую команду docker run в сервис с помощью Docker Run to Compose, поставьте Nginx перед приложением с помощью генератора конфигурации Nginx, проверьте .env через валидатор файлов .env и создайте CI-конвейер с помощью генератора GitHub Actions. Проверить YAML можно с помощью конвертера YAML в JSON.
Также ищут как: генератор compose.yaml, генератор docker-compose.yml, docker compose postgres, docker compose mysql, docker compose wordpress, docker compose redis.
Инструменты, которые хорошо сочетаются с Генератор Docker Compose
- Генератор YAML для Kubernetes — Укажите имя приложения, образ и порт, и вы получите готовый к продакшену YAML для Kubernetes: Deployment с пробами, лимитами ресурсов и защищённым security context, а также выбранные вами Service, Ingress с TLS, ConfigMap, Secret и HorizontalPodAutoscaler — всё в одном файле, готовом для kubectl apply.
- Валидатор YAML — Вставьте файл Docker Compose, манифест Kubernetes, workflow GitHub Actions или любой YAML, чтобы найти ошибку, поймать типичные ловушки и получить аккуратно отформатированную версию.
- Генератор systemd service — Запускайте приложение как полноценный сервис Linux, который стартует при загрузке и перезапускается после сбоя.
- GitLab CI генератор — Выберите стек и получите рабочий .gitlab-ci.yml: установка с кешированием, джобы линтинга и тестов, сборка с артефактами, Docker-образ, который отправляется в реестр GitLab, или деплой в GitLab Pages.