Конвертер Docker Run ↔ Compose
Преобразуйте команды docker run в Compose YAML и обратно с отчётом о результатах конвертации
Что делает конвертер?
Он превращает команды docker run в файл Compose, а файл Compose — обратно в команды docker run. Оба направления проходят через единую нормализованную модель контейнера, а не через замену текста, поэтому порты, тома, переменные окружения, сети, проверки работоспособности, лимиты ресурсов и кавычки действительно разбираются, а не копируются. Каждый флаг или ключ попадает в отчёт с пометкой «Точно», «Приблизительно» или «Не поддерживается», так что ничего не теряется молча.
Как пользоваться
- 1.Выберите Docker Run → Compose или Compose → Docker Run.
- 2.Вставьте команды или файл Compose, откройте файл или загрузите пример.
- 3.Выберите целевой формат Compose, отступ или оформление команды.
- 4.Изучите отчёт о конвертации под результатом, затем скопируйте или скачайте его.
Что конвертируется точно
Порты с IP хоста, диапазонами и протоколами; тома -v и --mount; переменные окружения с кавычками, пробелами и знаками доллара; политики перезапуска; пользовательские сети с псевдонимами и статическими IP; проверки работоспособности, логирование, ulimits, capabilities, устройства и большинство флагов ресурсов. Буквальные знаки доллара превращаются в $$, чтобы Compose не считал их переменными, а ссылки $VAR остаются переменными. Несколько команд, разделённых пустыми строками, точкой с запятой или &&, становятся несколькими сервисами с именами по --name, а при его отсутствии — по имени образа.
Ограничения и конфиденциальность
depends_on, profiles, build, secrets, configs и большинство настроек deploy не имеют аналога в docker run и попадают в отчёт вместо конвертации. Compose добавляет имя проекта в качестве префикса к сетям и томам, а docker run — нет; отчёт сообщает, когда это важно. Команды только разбираются и никогда не выполняются, а размер ввода ограничен 256 KB. Вставленные команды и файлы не сохраняются; запоминаются только ваши настройки отображения.
