Перейти к основному содержанию

Преобразователь Docker Run в Compose

Преобразуйте длинную команду `docker run …` в эквивалентное определение сервиса docker-compose.yml — порты, тома, окружение, сети, health-check, ограничения ресурсов и многое другое. Полностью работает в вашем браузере.

Ввод

Вывод

docker-compose.yml
 
Это было полезно?

Другие способы использовать этот инструмент

REST API

curl -X POST https://api.iotools.cloud/v1/tool/docker-run-to-compose-converter \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "dockerRunInput": "docker run -d \\\n  --name nginx-proxy \\\n  --resta…"
  }'

Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.

Спросите у ИИ-агента

Use the IOTools `docker-run-to-compose-converter` tool (Docker Run to Compose Converter) on this input:

YOUR_INPUT_HERE

Вставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.

Виджет для встраивания

<iframe
  src="https://iotools.cloud/embed/docker-run-to-compose-converter/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Преобразователь Docker Run в Compose — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.

Стоимость вызова API/MCPОт 5 кредитов
Нужно больше кредитов?Посмотреть тарифы

Также доступно через

Руководства

Преобразователь Docker Run в Compose превращает длинную команду docker run … в эквивалентное определение сервиса docker-compose.yml. Вставьте команду, которую вы обычно печатаете в терминал, и получите готовый к сохранению файл Compose — больше не нужно вручную переводить десятки флагов -p, -v и -e в YAML.

Инструмент создан для того момента, когда вы находите контейнер в README проекта, блог-посте или истории shell и хотите управлять им декларативно. Файлы Compose легче версионировать, рецензировать и перезапускать, чем стену флагов командной строки.

Как его использовать

  1. Вставьте полную команду в поле Команда Docker Run, например docker run -d --name web -p 8080:80 -v ./html:/usr/share/nginx/html nginx:alpine.
  2. Выходной файл docker-compose.yml обновляется по мере ввода.
  3. Скопируйте или скачайте как docker-compose.yml, затем запустите docker compose up -d в этой директории.

Многострочные команды с завершающимися обратными слэшами (\) вставляются без проблем — преобразователь объединяет строки продолжения перед синтаксическим анализом.

Что преобразуется

Инструмент понимает флаги, которые люди действительно используют: -p/--publish (порты), -v/--volume (тома), -e/--env и --env-file (окружение), --name, --restart, --network, -l/--label, --user, --workdir, --entrypoint, возможности (--cap-add/--cap-drop), --device, --dns, --add-host, tmpfs, --ulimit, --sysctl и флаги health-check (--health-cmd, --health-interval и другие). Флаги ресурсов — --memory, --memory-reservation, --cpus, --cpu-shares — выводятся в блоке deploy.resources. Любые аргументы образа после имени образа становятся command сервиса.

FAQ

Он создает ключ версии?

Нет. Поле version: верхнего уровня устарело в текущей спецификации Compose и намеренно опущено. Современный docker compose игнорирует его.

Как обрабатываются именованные сети?

Значение --network host, none, bridge или container:<id> сопоставляется с network_mode. Любое другое имя сети рассматривается как определяемая пользователем сеть: добавляется в список networks: сервиса и объявляется в нижней части файла как external: true, при условии, что вы создали его ранее с помощью docker network create.

Почему --cpu-shares делится на 1024?

CPU shares Docker — это относительные веса, где 1024 равняется одному полному CPU. reservations.cpus Compose ожидает дробное количество ядер, поэтому значение преобразуется (например, 512 становится "0.50").

Он обрабатывает флаги, которые я не знаю?

Флаги без эквивалента Compose (например, --rm или -d) просто отбрасываются, так как они описывают, как работает CLI, а не сам сервис. Если вход не начинается с docker run, вы получите краткий комментарий, объясняющий это, вместо поломанного файла.

Это полный валидатор YAML?

Нет — он выдает чистый и правильно цитированный файл Compose, но не проводит валидацию схемы по спецификации Compose. Проверьте результат перед развертыванием.

Конфиденциальность

Преобразование выполняется полностью в вашем браузере. Ваша команда — включая любые секреты в переменных окружения или метках — никогда не отправляется на сервер. Поэтому избегайте вставки производственных учетных данных и относитесь к сгенерированному файлу так же, как к исходной команде.

dockerdocker-composecomposedocker runyamldevopscontainersconverter

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.