Перейти к содержимому
Toolars
Каталог

Docker Run в Compose

Docker Run to Compose

Переводите флаги docker run — порты, переменные, монтирования, restart и другие — в проверяемый YAML сервиса Compose, без обращения к Docker.

Путь задачи / от ввода к результату

Вставьте команду docker run

Сообщить об ошибке

Локальная обработка

Сведения об обработке

Данные инструмента обрабатываются на вашем устройстве.

Для работы инструмента могут загружаться ресурсы. Сервисы аккаунта работают отдельно.

Подготовка офлайн-режима…

Информация о конфиденциальности

Путь задачи / от ввода к результату

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

  1. 01

    Вставьте команду docker run

    Для буквальных команд оболочки POSIX и контейнеров Linux. Не более 64 KiB UTF-8. Файлы окружения raw требуют Compose 2.30+. Это черновик конфигурации: оболочка, демон Docker и образ не запускаются и не проверяются. Используйте одну буквальную команду docker run. Замените переменные хоста явными значениями; буквальный $ заключите в одинарные кавычки или экранируйте. Раскрытие оболочки, конвейеры, перенаправления, подстановка команд и неэкранированные переводы строк не поддерживаются. Продолжение строки обратной косой чертой поддерживается.

  2. 02

    Преобразуйте в сервис Compose

    Преобразуются имя, порты, явные значения окружения, файлы raw, монтирования, перезапуск, сеть, рабочий каталог, пользователь, entrypoint и метки. -i/-t (включая -it) задают stdin_open/tty. Короткие параметры принимают присоединённые значения, длинные — =value. Неизвестные параметры останавливают преобразование.

  3. 03

    Проверьте полученный YAML

    Аргументы после образа сохраняют порядок и пустые строки в списке command. Непустой entrypoint остаётся одним аргументом, пустой сбрасывает его. Буквальные доллары удваиваются, чтобы Compose не подставлял окружение повторно. Сеть по умолчанию явно задана как bridge. Bind различает -v (может создать каталог хоста) и --mount (путь должен существовать).

  4. 04

    Проверьте список неподдерживаемого

    Есть неподдерживаемый параметр. Частичный YAML не создан. Используйте параметры из руководства, а аргументы команды контейнера помещайте после образа. --rm не включается в YAML. Выберите подходящий способ запуска и удаления в Compose самостоятельно. -d/--detach — параметр запуска: при необходимости используйте docker compose up -d.

  5. 05

    Скопируйте или скачайте YAML

    env_file использует формат raw (Compose 2.30+), сохраняя доллары и кавычки. Относительные пути отсчитываются от compose.yaml. Содержимое файлов и переменные без значений не проверяются; проверьте реальное окружение. Именованные тома и пользовательские сети задаются как внешние ссылки с исходными именами. Они должны существовать до запуска; здесь ресурсы не создаются и не проверяются.

Факты об инструменте

Обработка
В вашем браузере
Ввод покидает устройство
Никогда
Хранение
Ничего не сохраняется
Цена
Бесплатно

Ваши данные остаются в браузере.

Docker Run в Compose использует проверенный путь локального выполнения и не создаёт скрытую историю ввода и вывода.

Локальное выполнение

Работает внутри текущей вкладки браузера.

Никакой скрытой обработки

Активные данные инструмента никогда не становятся записями документов Toolars.

Аккаунт не требуется

Используйте основной сценарий без создания профиля. Избранное синхронизируется с аккаунтом после входа.

Мгновенный сброс

Закройте вкладку — и рабочие данные исчезнут.

Что на самом деле делает Docker Run в Compose

Заметка о развёртывании от коллеги — одна длинная строка docker run: docker run -d --name web -p 8080:80 -e NODE_ENV=production -v /srv/data:/data:ro --restart unless-stopped nginx:1.27-alpine, — а стандарт проекта — Compose; ответ на форуме содержит именно те параметры, что нужны, но не в виде YAML; параметры контейнера из унаследованного скрипта нужно проверить до переноса в систему контроля версий. Вставка этой строки даёт сервис web с его отображением портов, окружением, томом только для чтения и политикой перезапуска, разложенными для проверки, а -d отмечен как относящийся только к жизненному циклу, а не отброшен. Этот конвертер превращает команду в один проверяемый сервис прямо в браузере — без обращения к демону, реестру или самому Docker.

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

Какие параметры docker run преобразуются?
Неподдерживаемое или конфликтующее монтирование. -v принимает source:/target[:ro|rw] или /target. --mount принимает type=bind|volume, source/src, target/destination/dst, readonly/ro=true|false и volume-nocopy=true|false для томов. Другие поля и повторные цели отклоняются.
Почему --rm и -d отмечены как неподдерживаемые?
--rm не включается в YAML.
Как называется сервис Compose?
Имя сервиса берётся из --name при его наличии, иначе — из ссылки на образ без пути реестра и тега: registry.example.com/team/nginx:1.27 становится nginx. Символы вне строчных букв, цифр, подчёркиваний и дефисов сворачиваются в дефисы, а пустой результат заменяется на app. container_name выводится, только когда --name задан явно.
Что происходит с аргументами после образа?
Аргументы после образа сохраняют порядок и пустые строки в списке command.
Готов ли полученный YAML к продакшену?
Не более 64 KiB UTF-8.
Моя команда куда-то загружается?
Нет. Разбор и преобразование выполняются полностью в текущей вкладке браузера, команда никогда не отправляется и не сохраняется, а учётная запись не нужна.

Связанные задачи, а не тупик.

Перейдите в другую сфокусированную рабочую область, не возвращаясь к полному каталогу.

Работа с URL

URL Workbench

Очищайте списки URL с сохранением подписанных ссылок и причинами по строкам. Сравнивайте адреса и создавайте sitemap.

Редактирование

Исследователь JSON

JSON Explorer

Запросы JSONPath, извлечение полей и обратимое развёртывание JSON Pointer без потери точности больших чисел.

Проверка

Проверка JSON Schema

JSON Schema Validator

Локальная проверка Draft 7 и 2020-12 с путями ошибок; вывод схемы по нескольким образцам.

Проверка

Подготовка HTML

HTML Publishing

Подготовка HTML с сохранением списков, ссылок и семантики таблиц; безопасный просмотр изменений.

Публикация