Как пользоваться: Docker Run в Compose
- Вставьте команду
docker run— скопированную из README, истории shell или Docker Hub. Несколько команд (по одной на строку или через пустые строки) станут несколькими сервисами. - Переносы строк с
\(bash),`(PowerShell) и^(cmd) обрабатываются, так же как кавычки и--flag=value. - Проверьте предупреждения: флаги, у которых нет аналога в Compose (например,
--rm), выводятся в списке. - Скопируйте или скачайте
compose.yamlи запустите командойdocker compose up -d.
Как флаги docker run соответствуют Compose
| docker run | compose.yaml |
|---|---|
--name web | container_name: web (и ключ сервиса) |
-p 8080:80 | ports: ["8080:80"] |
-v data:/var/lib/x | volumes: + именованный том data на верхнем уровне |
-e KEY=value, --env-file | environment:, env_file: |
--restart unless-stopped | restart: unless-stopped |
--network mynet | networks: [mynet] + external: true на верхнем уровне |
-it | stdin_open: true, tty: true |
--memory 512m --cpus 1.5 | mem_limit: 512m, cpus: 1.5 |
--health-cmd … | блок healthcheck: |
--gpus all | deploy.resources.reservations.devices |
Что проверить после конвертации
- Относительные пути — в Compose путь
./dataотсчитывается от файла compose, а не от текущей директории shell. - Секреты — перенесите пароли из
environmentв файл.envи подставляйте их как${DB_PASSWORD}; проверить файл можно с помощью валидатора .env. - Порядок запуска — добавьте
depends_onмежду сервисами самостоятельно; генератор Docker Compose показывает шаблон healthcheck. - --rm не имеет аналога: Compose хранит остановленные контейнеры до команды
docker compose down.
Также ищут как: docker run в docker compose, docker run to compose конвертер, composerize, docker run в yaml, docker compose из docker run.
Инструменты, которые хорошо сочетаются с Docker Run в Compose
- Генератор конфига Nginx — Выберите, что должен делать Nginx: отдавать статический сайт или SPA, проксировать запросы к приложению на Node/Python или обрабатывать PHP.
- YAML в JSON — Вставьте YAML — файл Compose, манифест Kubernetes или конфиг CI — и получите отформатированный JSON.
- cURL в код — Вставьте команду curl из документации к API или пункт «Copy as cURL» из DevTools браузера, и вы получите готовый код для шести языков с сохранёнными заголовками, телом запроса и авторизацией.
- Калькулятор chmod — Отметьте чтение, запись и выполнение для владельца, группы и остальных или введите 755, rwxr-xr-x либо u=rwx,g=rx,o=rx.