Как пользоваться
- Вставьте команды docker run слева. Многострочные команды с обратным слэшем работают; разделяйте несколько команд переносами, точкой с запятой или &&.
- Справа появится Compose-файл. Каждая команда станет сервисом с именем из --name или из образа, если имя не задано.
- Проверьте жёлтую заметку о непреобразованных полях, затем скопируйте или скачайте compose.yaml и выполните docker compose up -d.
Описание параметров
- Поддерживаемые флаги
- -p, -v, --mount, -e, --env-file, --name, --restart, --network, -w, -u, -h, --entrypoint, -l, --add-host, --dns, --cap-add/drop, --device, -m, --cpus, --shm-size, --ulimit, --log-driver/--log-opt, --health-*, -i, -t, --privileged, --init, --read-only и другие.
- Именованные тома и сети
- Именованные тома вроде pgdata:/data объявляются в верхнем разделе volumes. Пользовательские сети объявляются как external: true, то есть используется существующая сеть. Сети host и none становятся network_mode.
- Порты
- Сопоставления портов всегда заключаются в кавычки. YAML 1.1 может прочитать 22:22 как число в системе base-60, поэтому документация Docker рекомендует записывать порты строками.
- Игнорируемые флаги
- -d и --rm не имеют эквивалента в Compose и удаляются. Неподдерживаемые флаги, например --gpus, перечисляются в заметке.
Пример
docker run -d --name web --restart unless-stopped -p 8080:80 \
-v ./html:/usr/share/nginx/html:ro -e TZ=Asia/Shanghai --memory 512m nginx:1.27
превращается в:
services:
web:
image: nginx:1.27
container_name: web
restart: unless-stopped
mem_limit: 512m
ports:
- "8080:80"
environment:
- TZ=Asia/Shanghai
volumes:
- ./html:/usr/share/nginx/html:ro
Часто задаваемые вопросы
Нужна ли строка version?
Нет. Современный Docker Compose v2 больше не использует верхнеуровневое поле version; если оно есть, его игнорируют с предупреждением.
Пароли в переменных окружения загружаются?
Нет. Разбор и преобразование выполняются в браузере, данные не отправляются на сервер.
Обрабатываются ли аргументы в кавычках?
Да. Одинарные и двойные кавычки и экранирование обратным слэшем следуют правилам shell, поэтому -e "MSG=hello world" сохраняет всё значение целиком.
Конфиденциальность
Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.