Les conteneurs virtualisent un peu le kernel, c'est vrai, mais ce n'est pas de la virtualisation complète à kernels et espaces d'adressage séparés, ce qui est ce à quoi "VM" fait référence pour moi.
Docker n'évolue plus beaucoup depuis un moment déjà, et les technos spécifiques Docker (Compose, Swarm) ont toujours été moins bien que k8s, sauf sur l'utilisabilité, qui est un point assez important: un cluster Swarm est resté plus facile à monter qu'un cluster K8s pendant un certain temps.
A mon boulot, sur un projet, Je n'ai pas réussi à faire passer le message que malgré sa mise en place plus difficile (on avait rencontré le problème sur un autre projet dans des versions antérieures d'au moins un an, autrement dit une éternité sur ces technos...), K8s était mieux... alors on a fait du Swarm, et puis par la suite, sans surprise, on a refait du K8s / k3s. Au final, on a probablement perdu du temps, et eu plus de mal à faire passer auprès des compteurs de sous qu'on refaisait ce que de leur point de vue, on avait déjà fait.
En 2017, il ne fallait déjà plus s'enfermer dans les technos spécifiques Docker, alors en 2020, il faut absolument éviter