https://www.docker.com/blog/containers-are-not-vms/
Докер предназначен для развёртывания приложений, а не предоставления доступа к виртуальным машинам.
1) Возможность подключаться по ssh, ftp с любого ПК в одной локальной сети.
Просто любой гипервизор. Хоть hyper-v, хоть vmware
2) Возможность сделать копию текущего состояния и развернуть на другом ПК со всеми файлами БД и.т.д. (Не в текущей локальной сети)
Как в п1. С докером такое сложно будет организовать.
3) Возможность работать с nginx, apache, npm, php, python, mysql (это если выбрать докер, то чтобы все это было в одном контейнере)
Запихнуть всё в один докер контейнер - это достаточно серьёзные пляски с шелл-скриптами будут.
А на виртуалке элементарно.
4) Быстрое обновление до последних версий вышеуказанных модулей. (Как у докера. Указал в конфиге версии и собрал контейнер по новой)
sudo apt update && sudo apt upgrade
В общем тебе нужна либо нормальная виртуалка, либо менять подход, который ты будешь использовать.
Например под твои задачи вполне должен подходить k8s, но тогда придётся менять подход, ибо никакого подключения по ssh и разделения одной "машины" между несколькими пользователями там не будет.