Docker has their use cases: lightweight! PaaS! incremental push! 12-factor apps!
VMs have their use cases: Strong isolation! online migration! completely portable! consolidation for traditional applications!
So no, Docker will probably live alongside, next to, holding hands with, traditional VM environments, in much the same way that J2EE apps coexist with Rails.
But, the other reason that VMware won't want to buy Docker is that over the long run, these technologies become increasingly commoditized. VMware's hypervisor was innovative when it first launched, and these days, you can argue that you can get much the same functionality from KVM or Hyper-V - or even in this case, LXC and Docker for a different set of use cases.
Instead, VMware needs to make money on their management tools. Ideally, those management tools will be managing VMware's hypervisor, but they can't be afford to be so choosy. So, instead, they want a "first among equals" relationship with various open source technologies so they can be in the mix in every environment, even those where they haven't sold their hypervisor.
That's why they won't buy Docker - they don't want to sell the platform, they want to manage everyone's platform.
(note: everything I said is my own opinion, not that of my employer. We are coop-etitors with VMware in some of our business, and hence, I've got a conflict of interest I feel obligated to disclose).
mainframe still exists with x86, but the real question is: who cares mainframe. The similar argument when VM is introduced. People say virtualization only fits a subnet of use case. Now what? Look for the nextt 5 yrs, you will see vmware in a really bad position.
I think you are right and wrong. Many people are using "full machine" virtualization today, when what they wanted was just application isolation and resource control, but the only easy way to do this, was to use virtualization. As recipes & tutorials come out on how to migrate existing applications to containers from virtualization, I suspect people will review if they really need "full machine" virtualization, or just use a container.
ps. Just to be clear, I think there is still a need for virtualization.
This is not true at all. Docker fits a very, very specific use case, and is a very small subset of what we use VMs for. To enhance Docker to cover those cases you would eventually end up with VMs.