Hallo,
I experimented with docker a couple of years ago but efforts ceased more or less one and half years ago. At that time I used VMWare virtual machine as I had some other VMWare images as well.
A couple of days ago I restarted with docker but learned that the recommended Docker for Windows won’t allow to run VMWare and VirtualBox as it uses Hyper-V if you run min. Windows Pro to allow a deeper system integration, as indicated in the blog Docker Saigon and roughly explained in the docker blog in regard of the WINDOWS 10 FALL CREATORS UPDATE . It seems it makes things like docker-compose obsolete.
Unfortunately Hyper-V isn’t compatible with VMWare and VirtualBox so either you use Hyper-V and Docker for Windows or you deactivate Hyper-V and use Docker-Machine.
Luckily there are tools to convert from VMWare to Hyper-V and vice versa but I cannot tell how reliable they are.
If I want to continue with Docker for Windows I need to convert my other fee VMs. Does anyone has made good experience with the above referenced tool?
I would like to avoid experimenting in this matter as besides the clear advantages of Docker compared to a virtual machine I still have some desktop only application what cannot be replaced by docker (server) based applications.
In the past I was quite happy with the Docker Machine solution as it allowed me to establish a safe fall back / back up workflow. I had playing copy of a machine with a standard set of images installed in it to run several instances containers of the images. As soon as I reached a acceptable state, allowing safe productive use I just copied the entire virtual disk.
How could realise that with Docker for Windows? May the described workflows in stackoverflow - What is the difference between a Docker image and a container? is good point to start?
My knowledge about Docker (images, container,tags etc.) and the differences to an virtual machine are mainly based on two entries on stackeroverflow
Well Microsoft is using Well Microsoft is quite interested in Docker and they are improving it steadily. 1709 update made Docker fundamentally different than before. I would recommend using native Windows images if possible. (e.g. not using VM and Moby underneath) If you cannot find the required images for Windows, 1709 update allows running Windows and Linux containers side by side, without switching modes. Unfortunately, it is not yet available for WS2016 Long term support channel. In Windows 10, however, this is not an issue. Also, networking and swarm has many problems in WS2016 LTS, whereas it is fixed in 1709 and later updates.
I recommend Docker for Windows, especially since now it has process-level isolation, it is much easier on the resources for Windows Images. Or you can always spin up a Linux machine, Docker is more stable for linux, has less problems in Networking, also third party orchestrators like Kubernetes run more smoothly on linux machines.
In WS16 LTS channel, you cannot run more than one instance of each service, unless you manage scaling and load balancing somewhat manually and you would need other machines to test your swarm. Services have problems binding to ports. In 1709 update, this is not an issue. And networking is getting better with each update.
I use it but how can I run a second Docker machine besides the Docker for Windows (what is by Docker for Windows created VM called MobyLinuxVM).
What is the best backup strategy?
To run Win and Linux images side by side, I don’t think you need to do anything. just pull linux images (if you have had Windows 10 and Docker fully upgraded. WS16 does not support it) and they should work just fine.
Sorry for the ate reply, missed the answer
“If you run Windows container they need to stored somewhere too but where?”
The images and stuff is stored in C:/programdata/docker/windowsfilter as far as I know. I have no clue how and what format it uses though In any case, go to linux if you can to preserve your sanity
no worries I will stay with Linux containers (and hence MobyLinuxVM.vhdx
I have a final question how could I run another Docker image parallel to the Linux container (MobyLinuxVM.vhdx) for special testing purposes? I’ve read about clustering, deamons and swarms. What is the right approach?
This is bit off topic about slightly related to the question above. Do you have experience in converting virtual machine images from one format to another one?