Преобразователь Docker Run в Compose
Преобразуйте длинную команду `docker run …` в эквивалентное определение сервиса docker-compose.yml — порты, тома, окружение, сети, health-check, ограничения ресурсов и многое другое. Полностью работает в вашем браузере.
Ввод
Вывод
Другие способы использовать этот инструмент
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 легче версионировать, рецензировать и перезапускать, чем стену флагов командной строки.
Как его использовать
- Вставьте полную команду в поле Команда Docker Run, например
docker run -d --name web -p 8080:80 -v ./html:/usr/share/nginx/html nginx:alpine. - Выходной файл docker-compose.yml обновляется по мере ввода.
- Скопируйте или скачайте как
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. Проверьте результат перед развертыванием.
Конфиденциальность
Преобразование выполняется полностью в вашем браузере. Ваша команда — включая любые секреты в переменных окружения или метках — никогда не отправляется на сервер. Поэтому избегайте вставки производственных учетных данных и относитесь к сгенерированному файлу так же, как к исходной команде.