
Как перенести Docker Compose на новую VPS без даунтайма
merra123 18 минут назад Как перенести Docker Compose на новую VPS без даунтайма Средний 4 мин 537 DevOps * Nginx * Серверное администрирование * Системное администрирование * Хостинг Туториал ВведениеСовсем недавно я...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
В сфере искусственного интеллекта произошло заметное событие. merra123 18 минут назад Как перенести Docker Compose на новую VPS без даунтайма Средний 4 мин 537 DevOps * Nginx * Серверное администрирование * Системное администрирование * Хостинг Туториал ВведениеСовсем недавно я переносил работающий прод с одной впс на другую. Причина простая - новый провайдер давал в несколько раз больше ресурсов за те же деньги и с тем же SLA, но были две проблемы: Первая - сервисом пользовались круглосуточно, и даже несколько минут простоя были нежелательны. Вторая проблема - инфраструктура очень скромная, и подозреваю, знакомая многим: один сервер, docker compose, nginx как реверс прокси.
Все легкие способы переезда отпадают сразу. Подготовка: mise en placeВ идеале к переносу у вас останется только переключение днс на новый айпи. Перед днем X должно быть закрыто всё из этого списка:Новая впс поднята, базовая настройка сделанаCompose стек развёрнут, все контейнеры в состоянии healthyTLS-сертификаты скопированы на новый сервер, nginx отвечает по HTTPSКонфиг прокси для старого nginx написан и лежит наготове, но не включенОбратный конфиг прокси для нового nginx написан, это страховка для откатаЖелательно снижен TTL у днс записей, это ускорит распространение изменений при переключенииДоступ к панели DNS проверен :)Если сервис не поднимается на чистой машине из compose файла, вы узнаете об этом сейчас и устраните проблему в спокойной обстановке.
Технические детали
Данные: главный вопрос переездаЕсли у вас бд находится на отдельном сервере - можете смело пропускать этот раздел, у вас все отлично)Правило этого переезда звучит так: stateful сервисы не переезжают вместе с приложением. Пока что база данных остаётся на старой впс, и оба приложения ходят в нее, пока идёт переходный период. Старое и новое приложение видят одни и те же данные, одно и то же состояние, одни и те же транзакции.
Поэтому старый сервер мы не выключаем, ни в день X, ни на следующий день. Он продолжает жить в двух ролях: прокси для DNS хвоста и хост базы данных. До переезда база данных жила в docker сети и наружу не смотрела.
Сохраняем это свойство и дальше - поднимаем любой защищённый канал между серверами, например, WireGuard. Так решаются сразу два вопроса: шифрование межсерверного трафика и доступ только с нужного сервера. На старой VPS порт базы публикуем с привязкой к адресу wg интерфейса, и приложение на новой машине ходит по этому адресу как по обычному хосту.
Отраслевые последствия
Два приложения теперь ходят в одну базуВторой этап - переезд самой базы. Это отдельный этап, который выполняется позже, когда приложение уже стабильно работает на новом сервере. Для бесшовного(почти) переноса обычно используют один из двух подходов:штатную репликацию БДсобственный ETL с последующей синхронизациейБаз данных бывает огромное количество, детальные кейсы тут, к сожалению, не перечислить.
ПереключаемсяЗдесь уже самое главное. Мы должны настроить реверс прокси как прокси к новому серверу и переключить днс.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





