Utilo

Конвертер docker run ↔ Compose

Конвертируйте команды docker run в сервисы docker-compose / compose.yaml — порты, переменные окружения, тома, сети, healthcheck и лимиты ресурсов — или обратно из compose в docker run.

Что делает этот конвертер

Команда docker run, которая начиналась как быстрый эксперимент, имеет тенденцию расти: порты, объемы, переменные окружающей среды, сеть, политика перезагрузки. В какой-то момент он должен попасть в compose.yaml. Этот преобразователь анализирует одну или несколько команд docker run и создает чистый файл Compose с одной службой на команду. Это также работает наоборот: вставьте файл Compose и получите эквивалентные команды docker run, что удобно для отладки одной службы или запуска ее на хосте без Compose. Анализ происходит локально в вашем браузере.

Как пользоваться

  1. Выберите docker run → compose или compose → docker run.
  2. Вставьте команды, по одной на строку. Продолжения линии обратного отступления в порядке, и ведущий sudo игнорируется.
  3. Проверьте созданный YAML. Названные объемы и пользовательские сети объявляются на верхнем уровне автоматически.
  4. Прочитайте примечания к опциям, не имеющим эквивалента Compose.
  5. Копируйте выход, сохраните его как compose.yaml и запустите docker compose up -d.

Поддерживаемые варианты

Порты (-p, --expose), среда (-e, --env-file), объемы и установки (-v, --mount, --tmpfs), сеть (--network, --network-alias, --ip, --hostname, --add-host, --dns, --link), политика перезагрузки, пользовательский и рабочий каталог, точка входа и команда, ярлыки, драйвер и параметры регистрации, проверки состояния (--health-*), ограничения ресурсов (--memory, --cpus, --shm-size, --ulimit, --gpus), параметры безопасности (--privileged, --cap-add, --cap-drop, --security-opt, --read-only), устройства, sysctls, --init, --platform, --pull, -it и многое другое.

Советы

  • Имена сервисов происходят от --name; если отсутствует, используется имя изображения.
  • --rm и -d не имеют значения в Compose и выпадают с нотой.
  • Относительные связывания в Compose решаются относительно файла Compose, а не каталога вашей оболочки. Используйте пути в стиле ./data.
  • Секреты, передаваемые с помощью -e, заканчиваются простым текстом. Подумайте о перемещении их в файл .env и ссылке на ${VAR}.

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

Какая версия Compose генерируется?

Вывод соответствует текущей спецификации Compose, используемой Docker Compose v2. Старый ключ верхнего уровня version: был пропущен.

Могу ли я конвертировать сразу несколько контейнеров?
  • Да, это так. Вставьте несколько команд docker run и каждая станет службой в одном файле, разделяя объявленные сети и объемы.
Поддерживает составление → запуск создания разделов?

build: не имеет эквивалента docker run, поэтому инструмент использует имя изображения и добавляет записку, в которой говорится, чтобы сначала построить.

Моя команда загружена?

Нет, нет, нет. Преобразование происходит полностью в вашем браузере.

Да. Вся обработка происходит прямо в вашем браузере с помощью JavaScript, Web Workers и веб-API. Ничего из того, что вы вводите, вставляете или загружаете, не отправляется на наши серверы.

Эта страница переведена с английского автоматически. Если вы заметили ошибку, сообщите нам.