Docker for Windows w/ VMWare installed

I have VMWare VMs that are necessary for me to use. Installing Docker for Windows enables Hyper-V, which prevents you from being able to use VMWare Workstation or Player. In the future, I would like to see Docker for Windows be able to specify which Virtualization platform to use, Hyper V, VirtualBox or VMWare. I know that I could continue to use Docker Toolbox, but that is not the same on Windows 10. I could also install VMWeare Workstation in a VM and run my VMs nested, but that seems like an unnecessary Russian nesting doll of a setup for something that should just be possible. We already have a Workstation driver for docker toolbox. It seems to me that Docker for ā€œXā€, windows/mac, should be able to integrate with these drivers and I should be able to deploy my containers with Docker for ā€œXā€ on any of those platforms, instead of it being tied directly to windows hyper v, or on mac, virtual box.

Perhaps in 1.13. Until then I will have to continue to use Docker Toolbox.

5 Likes

Thanks for your thoughtful post. We recognize this is a limitation of Docker for Windows.

The driver model from Docker Machine doesnā€™t map cleanly to Docker for Windows because Docker for Windows is more integrated and tightly coupled (eg. we have a networking proxy that relies on hyper-v sockets). This is an unpleasant tradeoff between flexibility vs. consistency and tight integration that lets us try to tackle VPN durability and other common problems with Toolbox.

1 Like

This issue has been a deal breaker for me as well. I need VMware more than I need Docker for Windows at this point. I do embedded Linux development so I need to run Ubuntu Desktop on VMware in order to drive exotic USB devices (J-Tag debugger, USB to serial adapter, etc.). Maybe I could run Docker for Windows inside a Windows 10 VM running on top of VMware but that seems like a terrible workaround. A button so I can easily turn Hyper-V on or off whenever I want to start or stop Docker for Windows would suffice.

2 Likes

Switching Hyper-V on and off is not very simple.

Also see responses here: https://github.com/docker/for-win/issues/6

Hanselmanā€™s ā€œNo Hyper-Vā€ boot menu option is good enough for me. Thanks for the tip!

I have no interest in using VMware or VirtualBox as alternate Docker virtualization backends. Hyper-V is the way to go for containers on Windows as far as Iā€™m concerned.

The absolute worst case running on Windows (any version) is to run Linux in VMware and host your Docker testbed there. This is almost the same as Docker Toolbox except that you get to use VMware Workstation instead of VirtualBox. You can host the docker client (docker.exe) on Windows and point it to the runtime environment.

Truthfully, this may also be the best solution for running on Windows as well.

2 Likes

That is most definitely the better solution. Hyper-V running any non-MS OS is notoriously flaky, and largely unsupported - case in point:

link

2 Likes

So is there no way to run Docker on Windows together with either HAXM or Genymotion at the same time?
And, one can only run one or the other, and the way to do that is to reboot between Hyper-V and no-Hyper-V?

With Hyper-V being so exclusive https://en.wikipedia.org/wiki/Hyper-V#VT-x_handling I really canā€™y see how this is the best technology to use for Docker for Windows.

1 Like

I use docker for Windows at the same time of my VmWare, HAXM, Virtuabox VMs !
How ?
I donā€™t use Hyper-V at all but I install docker using Docker Toolbox that use Virtualbox.
The integration isnā€™t perfect, but that do the job.

Letā€™s retell the story.
In the beginning of 2000s Microsoft did not manage to buy VMWare (VMWare was resistant to the ā€œofferā€, probably fearing that their innovative ideas would be killed by MS management), so instead MS bought Connectix and started virtualization adventure with Virtual PC (a magnificent piece of cr*p - it could not run a 64-bit OS on a 64-bit OS physical host), which then morphed into Virtual Server (I used it for a few years) and subsequently into Hyper-V, which - finally, growing simultaneously as VMWare products did - became a kind of of a competition for it. Except that MS has been doing the same thing as with IE and other Web browsers - once you enabled HyperV, you couldnā€™t run VMWare and vice versa. There was a period of time in 2nd part of 2000s when I could run MS Virtual Server and VMWare Workstation side by side on the same Dell server. Not anymore.

1 Like

As of Nov 30, 2018, the Docker problem on Win 10 with using simultaneously Windows and Linux containers is not resolved.

The worst case (albeit working) is to dual boot from 2 OS boot installation (Windows 10 or Linux), where one allows Windows Containers, and the other allows Linux containers. Assuming your demo/PoC doesnā€™t require these 2 environments to be connected at the same time.

Frankly, using Docker under Win 10 isnā€™t making the product any favors, just the opposite. For comparison, MySQL with MySQL Workbench CE on Windows is phenomenal. Docker on Win 10 is an afterthought and treated by the Docker team like an orphan.

2 Likes

It works for me in Workstation, I had to enable virtualizationā€¦ Settings, processors and check Virtualize Intel VT x/EPT or AMDā€¦

I tried this too but not worked for me :frowning:

VMware is more important to me that Docker Desktop.

Itā€™s too bad there isnā€™t a way to leverage a vmware running VM to make docker desktop work vs. hyper-v.

Oh well, uninstallingā€¦

1 Like

This was an use for me as well. I ended up installing Docker in an Ubuntu 1804 VM. I nor anyone on my team has run into issues running docker like this. We use a container to build our solution and run it. Ironically the container is Centos 7. So I have three layers of OSā€™s between the code and the HW and havenā€™t run into issues yet. Not ideal if you really like Visual Studio to develop but Visual Studio Code is pretty useful.

Not sure I would say ā€œorphanā€. More like something infected by the plague, beaten half to death and shoved out in the cold, never to be seen again.

My Windows-Docker experience:

  • Hyper-V NAT-ing is useless
  • Network often has to be set up manually
  • Sharing of drives (if using hard volumes) does not work with several common letters. For instance having a ā€˜-ā€™ in your user name is a disaster.
  • Because of interference between Hyper-V and WMWare, virtualization might break (have had two cases where it crashes windows beyond repair)

I look forward until RH is done with alternative for containerization. If it works properly on Windows, the choice is simple.

1 Like

What I got to work, was Ubuntu inside Virtualbox on a Win10 machine.
I sit on Windows developing, and use Ubuntu (and usually CentOS 7 inside a docker container) to build and test. I shared the project folder inside Virtualbox image so it is actually very straight forward :wink:

Hi there,
I have currently the same issue as described hereā€¦
I have a VMware Workstation on win10, and it was already a journey to get this running on win10. Finally I have VMware Workstation running --> https://social.technet.microsoft.com/Forums/Lync/en-US/8004c3bd-7d57-40ce-93de-0b1a6babd64c/how-i-can-disable-credential-guard?forum=win10itprovirt
However:
Is it currently possible -for whatever reasons- to have vmWare workstation/player and Docker running contemporarily on a windows 10 pro machine? =using both virtualization technologies contemporarily?

My System:

    1. Windows 10 Pro Version 1909 Build 18363.657 (installed on 14.2.2020)
    1. VMare Workstation 15 Pro Version 15.5.1 build-15018445

BR
Bart

VMware is working with Microsoft to fix this. Iā€™m not sure when it will be released, but it looks like the next version of Workstation should be able to run with the MS Hyper-V enabled.

2 Likes