Минимизация Downtime при обновлении Docker-контейнеров

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

dockerlive-restoredowntime

ℹ️ Знаете ли вы, что Docker имеет функцию, которая помогает минимизировать простои ваших приложений при обновлении контейнеров или даже при перезапуске самого Docker Daemon?

🔥 Включаем --live-restore

Флаг --live-restore позволяет запущенным контейнерам продолжать свою работу даже в случае перезапуска Docker Daemon. Это предотвращает их остановку и делает процесс обновления или обслуживания более плавным.

Шаги

  1. Откройте или создайте файл конфигурации Docker: Обычно это /etc/docker/daemon.json

  2. Добавьте туда следующее:

    {
        "live-restore": true
    }
  3. Перезапустите Docker Daemon, чтобы изменения вступили в силу:

    sudo systemctl restart docker

ℹ️ Преимущества:

  • - При перезапуске Docker Daemon контейнеры остаются активными.
  • - Уменьшается риск прерывания сервиса при обновлении конфигураций Docker.
  • - Полезно при работе с микросервисами, где остановка одного контейнера может вызвать цепной эффект.

✳️ Учтите, что после активации --live-restore у вас может быть ограниченная возможность управления контейнерами, пока Daemon полностью не восстановится. Но это мелочь по сравнению с тем, как этот лайфхак спасает вас от простоя!

tags: #полезно #docker

🧭 @recura_tech

Схематичная иллюстрация: кит в стиле Docker над контейнером, шестерни и иконки «uptime», символизирующие бесперебойную работу и обновления контейнеров.
Иллюстрация: символы Docker, контейнер и иконки uptime, подчеркивающие идею минимизации простоя.

Читайте так же