Если обновлять php, то самый лучший способ - это поднять новый PHP, затем перенаправить сервер (nginx или Apache) на новую версию. Обновление таким образом не должно вызвать недоступности сервиса. Если говорить про базу данных MySQL, то лучше всего настроить репликацию (скорее всего master-master), затем обновить по очереди реплики, не забывая при этом изменять настройки подключения, чтобы всегда работать только с живой репликой.
Для удобства можно использовать контейнеры, но в случае с базой данных все равно придётся настраивать репликацию, да и помещать БД в контейнер не совсем хорошая идея.