Docker run в Compose
Преобразуйте параметры docker run в Compose YAML без выполнения команды.
- Быстро и бесплатно
- Данные остаются у вас
- Без регистрации
Результат
Здесь появится результат
Введите данные, результат появится автоматическиКак работает конвертер docker run в Docker Compose
Конвертер разбирает команду docker run и создает YAML-конфигурацию Docker Compose с сервисом, образом и поддерживаемыми параметрами. Он помогает перенести разовую команду запуска в файл, который удобнее хранить и редактировать вместе с проектом.
Команда запуска и описание сервиса
docker run передает параметры создания и запуска одного контейнера через аргументы командной строки. Compose описывает сервисы декларативно: образ, порты, переменные окружения, подключения томов и другие настройки находятся в YAML.
Это разные формы конфигурации, поэтому не каждый флаг команды имеет прямой аналог. Инструмент переносит только распознаваемые параметры и сообщает о неподдерживаемом флаге вместо его незаметного пропуска.
Образ, контейнер и сервис Compose
Образ содержит подготовленную файловую систему и настройки запуска. Контейнер является конкретным экземпляром на основе образа. Сервис Compose описывает, как создавать и запускать такие экземпляры, поэтому имя сервиса не равно имени образа или идентификатору контейнера.
При переносе команды проверьте тег образа и команду после его имени. Отсутствующий тег и явно заданная версия могут привести к разным образам при следующем развертывании. Преобразователь переносит указанную строку образа, но не выбирает стабильную версию за вас.
Порт контейнера, том и переменная окружения
Публикация порта соединяет точку на хосте с портом контейнера. Она отличается от описания порта, который приложение использует внутри. Том или bind mount связывает путь контейнера с хранилищем, а переменная окружения передает значение процессу. Эти параметры решают разные задачи и не заменяют друг друга.
Проверьте, где после переноса хранятся изменяемые данные и какие пути относятся к хосту. Вывод Compose является конфигурацией запуска, а не копией содержимого контейнера или резервной копией томов. Проверять такой перенос нужно отдельно от сохранности данных.
Что вводить и проверять в YAML
Вставьте полную команду, начинающуюся с docker run, в соответствующее поле. Результат обновится автоматически. Поддерживаются, в частности, имя контейнера, публикация портов, переменные и env-файлы, тома, вариант --mount, сети, restart, пользователь и рабочий каталог. Аргументы после имени образа становятся командой сервиса.
Кавычки и экранирование разбираются, но shell не запускается. Подстановки, конвейеры и операторы оболочки не выполняются и отклоняются. Если в команде есть переменные окружения shell, сначала подставьте нужные буквальные значения самостоятельно.
Особенности сетей, томов и знака доллара
Пользовательские именованные сети объявляются как внешние и должны существовать заранее. Для именованных томов сохраняется name, но external не задается: Compose может создать отсутствующий том. Пути привязок проверьте на целевом хосте.
Знаки доллара экранируются для буквальной передачи через Compose, чтобы содержимое не стало случайной подстановкой переменной. Если вы хотите именно интерполяцию Compose, настройте ее осознанно после преобразования.
Инструмент не обращается к Docker daemon, не загружает образ и не запускает контейнер. Перед применением проверьте YAML средствами установленного Compose и сопоставьте поддерживаемые параметры с ожидаемым поведением сервиса.

