Docker: Перезагрузка контейнера
Перезагрузка контейнеров Docker
Общая информация
Перезагрузка контейнера в Docker может потребоваться при изменении конфигурации, обновлении приложения или при возникновении ошибок. Docker предоставляет несколько способов перезапуска контейнеров: через командную строку и через Docker Compose.
Перезагрузка контейнера через CLI
Перезапуск одного контейнера
Для перезапуска контейнера используется команда:
docker restart <container_name_or_id>
Пример:
docker restart my_container
Это остановит контейнер и запустит его снова.
Перезапуск с таймаутом
Можно указать время ожидания перед остановкой контейнера:
docker restart -t 10 my_container
Где:
-t— время в секундах перед принудительной остановкой
Перезапуск всех контейнеров
Перезапустить все запущенные контейнеры:
docker restart $(docker ps -q)
Политика автоматического перезапуска
Docker поддерживает автоматический рестарт контейнеров:
docker run --restart=always -d nginx
Варианты:
no— не перезапускатьon-failure— только при ошибкеalways— всегда перезапускатьunless-stopped— пока явно не остановлен
Перезагрузка через Docker Compose
Перезапуск сервиса
Для перезапуска контейнера, описанного в docker-compose.yml:
docker-compose restart <service_name>
Пример:
docker-compose restart web
Перезапуск всех сервисов
docker-compose restart
Полная пересборка и перезапуск
Если необходимо пересобрать контейнеры:
docker-compose up -d --build
Перезапуск с удалением контейнеров
Полная остановка и удаление:
docker-compose down
docker-compose up -d
Полезные команды
Проверить статус контейнеров:
docker ps
Просмотреть логи:
docker logs <container_name>
Заключение
Перезапуск контейнеров — базовая операция при работе с Docker. Для простых случаев достаточно команды docker restart, а при использовании Docker Compose удобно управлять сервисами через docker-compose restart или up.