Для разработчиков / Docker
Конвертер docker run в Docker Compose
Преобразуйте команды docker run в файл compose.yaml с портами, томами, переменными окружения, сетями, политикой перезапуска, проверками состояния, GPU и другими параметрами — или преобразуйте сервис Compose обратно в docker run. Опции без эквивалента будут перечислены отдельно.
Конвертер docker run в Docker Compose: Команда разбирается так же, как оболочкой: с учётом кавычек и экранирования. Затем каждая опция сопоставляется с ключом Compose: -p — с ports, -v и --mount — с volumes, -e — с environment, --restart, --network, --health-cmd — с healthcheck, --gpus — с резервированием устройства и ещё примерно сорока параметрами. Именованные тома и сети получают верхнеуровневые записи. Несколько команд преобразуются в несколько сервисов в одном файле. Опции без эквивалента в Compose перечисляются отдельно, а не удаляются без предупреждения. Работает на 100% локально в вашем браузере, файлы на сервер не загружаются.
- Категория
- Инструменты для разработчиков
- Запуски
- В вашем браузере
- Стоимость
- Бесплатно · без регистрации
- Доступность
- Готово к использованию
Полностью работает в браузере
compose.yaml
services:
db:
image: postgres:16
container_name: db
environment:
- POSTGRES_PASSWORD=change-me
volumes:
- pgdata:/var/lib/postgresql/data
ports:
- 5432:5432
restart: unless-stopped
volumes:
pgdata:
После преобразования
Выполните docker compose config, чтобы проверить файл и увидеть его со всеми подставленными значениями по умолчанию, затем запустите docker compose up -d. Фиксируйте версии образов, например postgres:16 вместо latest, чтобы перезапуск неожиданно не обновил базу данных.
Чтобы прочитать файл в другом формате, преобразуйте его с помощью YAML в JSON; для запланированных задач в контейнерах пригодится объяснение cron, где разбираются выражения cron.
Тома и данные
Именованный том, например pgdata, управляется Docker и сохраняется после выполнения docker compose down; путь вроде ./data указывает на папку на хосте. Создавайте резервные копии именованных томов перед удалением командой docker compose down -v — она удаляет эти тома.
Как пользоваться
- Вставьте одну или несколько команд docker run; переносы строк с обратной косой чертой поддерживаются.
- Просмотрите compose.yaml и все параметры, которые не удалось преобразовать.
- Скопируйте или скачайте результат либо смените направление, чтобы преобразовать файл Compose в команды docker run.
Конфиденциальность и ограничения
Всё выполняется в вашем браузере; ваши команды, которые могут содержать пароли, никуда не загружаются.
Похожие инструменты
Часто задаваемые вопросы
Зачем использовать Compose вместо docker run?
Файл Compose хранит всю конфигурацию в одном месте: её можно читать, версионировать и запускать с помощью docker compose up, вместо того чтобы хранить длинные команды в истории оболочки. Кроме того, он запускает несколько контейнеров вместе с их сетями и томами.
Что происходит с --rm и -d?
У Compose нет параметра --rm: контейнеры удаляются с помощью docker compose down. Параметр -d выбирается при запуске docker compose up -d, поэтому в файл он не добавляется.
Почему сети помечаются как external?
docker run --network использует уже существующую сеть, поэтому преобразованный файл обращается к ней таким же образом. Удалите external: true, если хотите, чтобы Compose создал сеть самостоятельно.
Стоит ли хранить пароли в файле?
Для паролей и ключей лучше использовать env_file, исключённый из системы контроля версий, или секреты Docker. Конвертер сохраняет данные из команды, поэтому перед фиксацией файла проверьте раздел environment.
Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен