Генератор Docker Compose — создайте compose.yaml

Отметьте нужные сервисы — приложение, базу данных, кеш, панель администратора, перехватчик почты — и получите аккуратный compose.yaml с закреплёнными версиями образов, именованными томами, healthcheck и условиями depends_on, а также подходящий .env со сгенерированными паролями.

Обновлено

1. Сервисы

2. Настройки

compose.yaml
.env

Запускайте командой docker compose up -d, смотреть логи — docker compose logs -f. Не добавляйте .env в Git: генератор .gitignore сделает это за вас.

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Создайте манифесты Kubernetes по формеDeployment, Service, Ingress с TLS, ConfigMap, Secret, автомасштабирование, пробы, лимиты и безопасный контекст пода.Генератор YAML для Kubernetes →

Как пользоваться: Генератор Docker Compose

  1. Отметьте сервисы, которые нужны вашему проекту, например приложение на Node.js + Postgres + Redis + Adminer.
  2. Настройте порты на хосте, имена баз данных и пользователей. Пароли генерируются случайно и сохраняются в файле .env.
  3. Оставьте включённым пункт Healthchecks, чтобы приложение запускалось только после того, как база данных начнёт принимать подключения.
  4. Скачайте 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.

Часто задаваемые вопросы

Как назвать файл: compose.yaml или docker-compose.yml?
В спецификации Compose предпочтительно имя compose.yaml. Docker Compose v2 по-прежнему находит docker-compose.yml, поэтому подходят оба варианта, но не храните оба файла в одной папке.
Почему приложение не подключается к базе данных на localhost?
В Compose каждый сервис — отдельный контейнер. Используйте имя сервиса как хост (postgres, mysql, redis) вместо localhost. С вашего компьютера используйте localhost и опубликованный порт.
Как дождаться, пока база данных будет готова?
Добавьте базе данных healthcheck и в сервисе приложения используйте depends_on с condition: service_healthy. Генератор делает оба действия, если включён пункт «Healthchecks».
Безопасны ли сгенерированные пароли для продакшена?
Это случайные строки из 20 символов, которые генерируются в вашем браузере. Для разработки этого достаточно. В продакшене используйте менеджер секретов вашей платформы или Docker secrets и никогда не коммитьте файлы .env.
Можно ли установить Генератор Docker Compose как веб-приложение и пользоваться им офлайн?
Да. Генератор Docker Compose — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localГенератор YAML для KubernetesУкажите имя приложения, образ и порт, и вы получите готовый к продакшену YAML для Kubernetes: Deployment с…localDocker Run в ComposeВставьте одну или несколько команд docker run — многострочных, с кавычками и переносами \ — и получите…localГенератор конфига NginxВыберите, что должен делать Nginx: отдавать статический сайт или SPA, проксировать запросы к приложению на…localВалидатор .env файловВставьте файл .env, чтобы найти некорректные ключи, дубли, пустые значения и ошибки в кавычках, сравнить…localГенератор GitHub ActionsВыберите стек, триггеры и шаги, и вы получите закомментированный файл .github/workflows/ci.yml —…localYAML в JSONВставьте YAML — файл Compose, манифест Kubernetes или конфиг CI — и получите отформатированный JSON.…