Перезапустите Docker-контейнеры последовательно после перезагрузки сервера
Существует 3 док-контейнера, которые необходимо перезапускать автоматически при перезагрузке сервера.
Мы можем запустить контейнеры, используя политики перезапуска, такие как
sudo docker run --restart=always -d your_image
но поскольку один контейнер связан с другим, их нужно запускать последовательно.
Вопрос: Есть ли способ автоматического перезапуска контейнеров Docker по очереди?
1 ответ
Docker не имеет возможности для этого, и это является анти-паттерном для микросервисов. Вместо этого каждый контейнер должен корректно возвращать ошибки, когда его зависимости недоступны, или в качестве запасного варианта вы можете использовать что-то вроде команды wait-for-it в точке входа вашего контейнера для ожидания доступности ваших зависимостей. Я бы также рекомендовал не использовать "ссылки" и вместо этого размещать все ваши сервисы в собственной докерной сети, позволяя встроенному разрешению DNS обрабатывать обнаружение сервисов для вас.