Динамическая подмена контейнера: оркестрация/без неё, и стоит ли вообще оно свеч
Есть небольшой скорее теоретический вопрос, связанный c Docker.
Опишу кратко нынешнюю схему домашнего сервера, на котором крутятся личные и фриланс-проекты: на нём стоит Docker, внутри много контейнеров, и в одном из них - CI/CD система (в данном случае Drone CI, но это непринципиально). Она пересобирает контейнеры по пушу в репозиторий, останавливает старые контейнеры, запускает новые.
Это временной лаг. Небольшой, конечно, но всё равно не нравится.
При этом все контейнеры висят в своих сетях, контейнеры, в которых находится веб-приложение, подсоединяются также к nginx proxy (в данном случае это готовый образ), который их реверсит, а также перегенерирует сертификаты Let's Encrypt.
Соответственно, оптимальный механизм мне видится следующим. Новая пачка контейнеров поднимается (вопрос еще и в том, чтобы без конфликтов со старыми), nginx proxy перецепляет роут на них, старые контейнеры тушатся и удаляются.
Абсолютно точно так умеет Kubernetes и прочие средства оркестрации. Но они все же для другого, оркестрация на один сервер, серьезно? Потому вопрос в том, можно ли это сделать без оркестрации, собственными силами Docker, и если да - то как?