Salut,
Différences de performances entre dédié et VPS
Les caractéristiques serveur comme RAM ou CPU sont garanties quand tu prends un VPS, donc ce sera la même chose que pour un dédié. Après il faut bien tout comparer notamment la lecture/écriture sur le disque. En effet sur un VPS le disque est partitionné mais quand même partagé entre plusieurs machines virtuelles ; et j'ai déjà remarqué que certaines VM peuvent voir chuter leur accès au disque si une autre en abuse. Vérifie donc les débits d'accès au disque, voire à la RAM sur les caractéristiques.
Nombre de containers
Là ça dépend vraiment de beaucoup de choses, il n'y a pas de "taille standard" pour les containers. Si tu as déjà un environnement docker en local ou autre qui correspond à ce que tu veux mettre en prod, essaye de regarder la taille occupée ( du -sh /var/lib/docker/* sur la machine qui héberge le daemon docker). Selon moi 20G suffiront sans problème pour installer les images nginx, apache, php, sql etc. Ensuite ce sont les données gérées par tes applications qui vont prendre de la place (fichiers crées, taille de la base de données etc). Et il y aura aussi de la place prise pour chaque container lancé. Si tu veux faire "plein" de sites ça me parait juste :)
Architecture applicative
Je te conseille vivement de pas "packager" chaque site dans son propre container, mais plutôt chaque service dans son container. C'est tout l'intérêt de "containeriser" son architecture.
Par exemple tu pourrais mettre 3 containers pour trois sites PHP différents qui sont tous les trois liés au container de Nginx, 2 d'entre eux liés au conteneur MySQL et le troisième à PostgreSQL. Si un site a besoin de versions différentes d'une lib PHP, tu pourras encore faire un container, basé sur une autre image.
Justement Grafikart a très bien expliqué comment créer une stack très similaire à la tienne en utilisant docker compose, tu devrais jeter un oeil.
http://www.grafikart.fr/tutoriels/docker/docker-stack-web-635