Что делает этот конвертер
Команда docker run, которая начиналась как быстрый эксперимент, имеет тенденцию расти: порты, объемы, переменные окружающей среды, сеть, политика перезагрузки. В какой-то момент он должен попасть в compose.yaml. Этот преобразователь анализирует одну или несколько команд docker run и создает чистый файл Compose с одной службой на команду. Это также работает наоборот: вставьте файл Compose и получите эквивалентные команды docker run, что удобно для отладки одной службы или запуска ее на хосте без Compose. Анализ происходит локально в вашем браузере.
Как пользоваться
- Выберите docker run → compose или compose → docker run.
- Вставьте команды, по одной на строку. Продолжения линии обратного отступления в порядке, и ведущий
sudoигнорируется. - Проверьте созданный YAML. Названные объемы и пользовательские сети объявляются на верхнем уровне автоматически.
- Прочитайте примечания к опциям, не имеющим эквивалента Compose.
- Копируйте выход, сохраните его как
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}.