Перезапустите Docker-контейнеры последовательно после перезагрузки сервера

Существует 3 док-контейнера, которые необходимо перезапускать автоматически при перезагрузке сервера.

Мы можем запустить контейнеры, используя политики перезапуска, такие как

sudo docker run --restart=always -d your_image

но поскольку один контейнер связан с другим, их нужно запускать последовательно.

Вопрос: Есть ли способ автоматического перезапуска контейнеров Docker по очереди?

1 ответ

Docker не имеет возможности для этого, и это является анти-паттерном для микросервисов. Вместо этого каждый контейнер должен корректно возвращать ошибки, когда его зависимости недоступны, или в качестве запасного варианта вы можете использовать что-то вроде команды wait-for-it в точке входа вашего контейнера для ожидания доступности ваших зависимостей. Я бы также рекомендовал не использовать "ссылки" и вместо этого размещать все ваши сервисы в собственной докерной сети, позволяя встроенному разрешению DNS обрабатывать обнаружение сервисов для вас.

Другие вопросы по тегам