Omnikit
РазработкаФайлыФинансыВсе инструменты
Ctrl K
Инструменты для разработкиИнструменты для файловФинансовые калькуляторыВсе инструменты
ГлавнаяИнструменты для разработчиковКонвертер docker run в docker compose
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Конвертер docker run в docker compose

разработка

Превратите команды docker run в compose.yaml: порты, тома, сети, health checks

Работает в вашем браузере. Ничего из того, что вы вводите, никуда не отправляется. Проверено 16 октября 2026 г..

У каждого флага docker run есть ключ Compose. Образ остаётся image, а 5 распространённых флагов переносятся напрямую: -p становится ports, -e — environment, -v — volumes, --restart — restart, а --name — container_name, тогда как -it соответствует stdin_open и tty. У флагов вроде -d и --rm нет аналога, поскольку docker compose up -d и так запускает сервисы в фоне.

Эта страница переведена машинным способом с английского оригинала. Перевод ещё не проверен человеком, поэтому ориентируйтесь на английскую версию. Читать английский оригинал

Дальше:
  • Nginx Config Generator A commented nginx server block for a reverse proxy, static site, SPA or redirect
  • Линтер Dockerfile Проверка Dockerfile по 55 правилам hadolint: закреплённые версии, пользователь root, кэш и другое

Как преобразовать команду docker run в docker compose

1

Вставьте одну или несколько команд docker run, вместе с переносами строк через обратную косую черту, или нажмите Попробовать пример.

2

Посмотрите compose.yaml справа: один сервис на команду, тома и сети объявлены внизу.

3

Проверьте примечания о флагах без аналога в Compose, например --rm.

4

Нажмите Скачать, чтобы сохранить compose.yaml, затем выполните docker compose up -d в той же папке.

О Docker Run to Compose Converter

Рабочая команда docker run — лучшая отправная точка для файла Compose, но переписывать 10 флагов вручную — значит рисковать ошибками. Вставьте команду или несколько и получите compose.yaml с отдельным сервисом для каждой, по Compose Specification, чтобы он работал с docker compose up -d.

docker run compose.yaml
--name web container_name: web
-p 8080:80 ports: ["8080:80"]
-e KEY=value environment: ["KEY=value"]
-v data:/data volumes: плюс data: верхнего уровня
--network shop-net networks: плюс shop-net: external: true
--restart unless-stopped restart: unless-stopped
-it stdin_open: true, tty: true
--gpus all deploy.resources.reservations.devices

Что распознаётся. Более 70 флагов docker run во всех написаниях, которые принимает Docker CLI: --flag value, --flag=value, -p80:80 и сгруппированные короткие флаги вроде -it или -dp 3000:3000. Команды, разбитые на строки с помощью \ (bash), ^ (cmd) или ` (PowerShell), склеиваются, кавычки читаются так, как их читает оболочка, а $(pwd) в томе становится ./, потому что Compose разрешает пути от папки файла Compose.

Несколько команд сразу. Вставьте целый скрипт установки: каждый docker run становится сервисом, другие команды, например docker network create, пропускаются, а сервисы с одним образом получают разные имена.

Ничего не скрыто. Флаги без аналога в Compose, такие как --rm и -d, и любые флаги, неизвестные инструменту, перечисляются под результатом, а не исчезают. Порты и значения окружения заключены в кавычки, чтобы ни один парсер YAML не принял 22:22 за число. В файле нет ключа version:, который Compose Specification объявила устаревшим.

Всё работает в вашем браузере; вставленные команды, в которых часто есть пароли, никуда не отправляются.

Частые вопросы

Как преобразовать команду docker run в docker compose?

Задайте каждому флагу его ключ Compose внутри сервиса: образ как image, -p как ports, -e как environment, -v как volumes, --name как container_name и --restart как restart. Именованные тома и собственные сети также получают запись верхнего уровня. Если вставить команду сюда, будет сформирован весь compose.yaml, готовый для docker compose up -d.

Во что превращаются -it и -d в docker compose?

Флаг -i становится stdin_open: true, а -t — tty: true, так что -it задаёт оба. У флага -d нет ключа, потому что docker compose up -d запускает все сервисы в фоне. Чтобы позже подключиться к работающему сервису, используйте docker compose attach или docker compose exec с именем сервиса.

Что происходит с --rm в docker compose?

В файле — ничего: сервисы Compose рассчитаны на постоянную работу, поэтому ключа, удаляющего контейнер при остановке, нет. Для разовой задачи выполните docker compose run --rm с именем сервиса — этот контейнер будет удалён после завершения. Примечание под результатом сообщает, когда --rm был опущен.

Почему сеть помечена как external: true?

docker run с --network shop-net использует уже существующую сеть. Пометка external говорит Compose подключиться к этой сети, а не создавать свою, чтобы контейнеры, запущенные обоими способами, по-прежнему могли общаться. Если вы хотите, чтобы Compose сам создал сеть и управлял ею, удалите строку external: true.

Нужно ли заключать порты в кавычки в файле Compose?

Да, записывайте порты как строки, например "8080:80". Некоторые парсеры YAML считают два числа через двоеточие числом в шестидесятеричной системе, так что 22:22 может превратиться в 1342 и сломать проброс SSH. Этот инструмент заключает в кавычки каждый порт, каждую переменную окружения и каждую строку тома, чтобы файл везде означал одно и то же.

Нужен ли docker compose ключ version?

Нет. Compose Specification объявила ключ version: устаревшим, и последние версии docker compose выдают предупреждение, если он есть. Файлы, созданные здесь, начинаются сразу с services:, за которым следуют volumes: и networks:, если команды используют именованные тома или собственные сети.

Источники

  • Docker Docs, docker container run (CLI reference)Every docker run flag and its meaning
  • Docker Docs, Compose file reference: servicesThe Compose key each flag maps to
  • Docker Docs, Compose file reference: volumesNamed volumes declared at the top level
  • Docker Docs, Compose file reference: networksExternal networks
  • POSIX.1-2024 Shell Command Language, 2.2 Quoting (The Open Group)How the pasted command is split into words

Последняя проверка: 16 октября 2026 г..

Ставки и правила меняются; проверьте источник, прежде чем полагаться на цифру.

Всё ещё не получается? Задайте вопрос об инструменте «Конвертер docker run в docker compose» и ответить может любой, кто знает. Учётная запись не нужна.

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

Все инструменты для разработчиков
Кодирование и декодирование Base64Текст и файлы в Base64 и обратно, с режимом для URL и предпросмотром изображенийКонвертер Unix-времениМетки времени Unix в даты и даты в метки времени, в любом часовом поясеJSON в TypeScriptСоздайте интерфейсы или типы TypeScript по образцу JSONКонвертер CSV в JSONПреобразуйте CSV в JSON и JSON в CSV с предпросмотром таблицыКонвертер YAML в JSONПреобразуйте YAML в JSON и JSON в YAML с разрешёнными якорямиКодирование и декодирование URLПроцентное кодирование и декодирование текста и URL, с разбором каждой части ссылкиКонвертер систем счисленияДвоичная, восьмеричная, десятичная, шестнадцатеричная и любая система до 36, точно при любом размере, с дополнительным кодомColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
Был ли этот инструмент полезен?
Omnikit

Небольшие задачи прямо в вашем браузере. Бесплатно, быстро и конфиденциально. Файлы никогда не загружаются на сервер.

Файлы

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Разработка

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Финансы

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
РуководстваВопросыО сайтеКак мы проверяемБиблиотека законов (бета)КонфиденциальностьУсловияРаскрытие информацииКонтактыMore: Exam practice (UGC NET Paper 1)Работает в вашем браузере. Ничего не загружается на сервер. © 2026 Omnikit (theomnikit.com)