Исправление установки Discourse на Digital Ocean, нарушившейся после обновления Docker

Мы не тратили время на выяснение причин проблемы, так как хотели как можно быстрее запустить @waffleslop. Я обновлял свои серверы Discourse (размещённые на DigitalOcean) без проблем. Однако я использую командную строку, а не графический интерфейс, так как у меня установлена нестандартная конфигурация.

Я могу порекомендовать несколько шагов для минимизации риска длительных простоев:

  1. Сделайте резервную копию перед любыми действиями! Интересно, не стоит ли добавить в интерфейс предупреждение с настоятельной рекомендацией создать резервную копию перед обновлением. Наличие недавней резервной копии даёт мне уверенность, что в худшем случае мы сможем запустить новый Droplet и восстановить данные.
  2. Убедитесь, что у вас есть доступ к резервной копии! @waffleslop и я потратили значительную часть времени на то, чтобы понять, как скопировать /var/discourse на новый Droplet. С исходным Droplet происходило что-то очень странное, и мы не могли просто scp файлы на новый Droplet. Для своих серверов я храню резервные копии на S3 и ежедневно копирую их на локальную машину. Это чрезмерно? Возможно. Но это даёт мне множество вариантов действий, если что-то пойдёт не так.
  3. Регулярно проверяйте свои резервные копии. Когда ваши производственные серверы недоступны, вы должны быть уверены в своих действиях. В идеале стоит протестировать резервную копию непосредственно перед обновлением, чтобы иметь точку возврата на случай сбоя. Однако обычно достаточно периодически пробовать восстановление, чтобы процесс оставался свежим в памяти.
  4. Две головы лучше, чем одна. Возможно, это эгоизм, но справиться с чрезвычайной ситуацией гораздо легче, если вы сможете поделиться экраном на звонке с кем-то, у кого есть опыт решения подобных проблем. В идеале вам нужен кто-то, кто умеет работать в командной строке.

Если вы сделаете резервную копию, обновление должно пройти безопасно.

5 лайков