Использование dry-run с командой, которая вносит изменения
На этом шаге мы применим флаг dry-run
с командой Docker Compose, которая обычно вносит изменения в систему, например docker-compose up
. Это продемонстрирует, как dry-run
может показать планируемые действия без фактического создания контейнеров или сетей.
Команда docker-compose up
без dry-run
выполняет следующие действия: загружает указанные образы (если они отсутствуют локально), создает сети и запускает контейнеры на основе вашего файла docker-compose.yaml
. Добавив флаг dry-run
, мы можем увидеть шаги, которые были бы выполнены, без их фактического выполнения.
Сначала убедитесь, что находитесь в правильной директории:
cd ~/project/my-compose-app
Теперь выполните команду docker-compose up --dry-run
:
docker-compose up --dry-run
Вы увидите вывод, указывающий на действия, которые Docker Compose выполнил бы. Для нашего простого docker-compose.yaml
вывод может выглядеть примерно так:
Would create network "my-compose-app_default"
Would create service "web"
Would pull image "nginx:latest"
Would create container "my-compose-app-web-1"
Этот вывод четко показывает, что Docker Compose планирует:
- Создать сеть по умолчанию с именем
my-compose-app_default
- Создать сервис с именем
web
- Загрузить образ
nginx:latest
(если он отсутствует локально)
- Создать контейнер
my-compose-app-web-1
для сервиса web
Важно отметить, что ни одно из этих действий фактически не выполняется. Не создается сеть, не загружается образ и не запускается контейнер. Флаг dry-run
предотвращает любые реальные изменения в вашем Docker-окружении.
Это чрезвычайно полезно для:
- Предварительного просмотра изменений: Перед развертыванием сложного приложения вы можете использовать
dry-run
, чтобы точно увидеть, что сделает Docker Compose
- Диагностики проблем: Если команда
docker-compose up
завершается с ошибкой, dry-run
поможет понять начальные шаги и выявить потенциальные проблемы в конфигурации
- Обучения: Позволяет экспериментировать с различными конфигурациями
docker-compose.yaml
и видеть их влияние без изменений в системе
Флаг dry-run
также можно использовать с другими командами Docker Compose, такими как down
, start
, stop
и rm
, чтобы увидеть, какие ресурсы были бы затронуты.