But not the home edition or whatever the OEM edition is called these days. This is another one of those aggravating things pushing me towards linux/oss.
The problem - to me, as a sysadmin/helpdesk monkey/part-time developer - is not so much the expense itself as the bureaucracy involved.
If I want to install CentOS or FreeBSD, all I need is hardware (with one or two spare machines usually at hand, as well as few old ones that got decommissioned) or a VM, and I'm good to go.
If I want to install Windows, I need to talk to my boss and explain why I need another Windows license, which can be rather tedious. (If we had an MSDN subscription, that would not be a problem of course, but then the price tag begins to matter.)
My problem is that its either Docker or Vmware Workstation - i kind of need both and I don't want to have to reboot everytime. But it looks interesting.
Depends on what you're doing with VMware Workstation, but agreed, if you're doing advanced stuff in VMware, hyperv doesn't replace it... though, for many use cases Hyper-v is decent...
Also, I think it's misleading to say no VM is needed, it's just more transparent now.
For a while, we had part of our servers running on Hyper-V (on Windows Server 2012). I could not complain, really, except that a Debian VM at the time was randomly loosing its network connection, like somebody was pulling out the virtual network cable. I could imagine this got better with Debian 8, though. (CentOS 6 had no such problem.)
As someone that develops software for Windows since the version 3.1, I don't get why professional developers would use the consumer version of Windows.
Microsoft implemented containers in the Windows kernel, so Docker for Windows no longer needs a VM+Linux to run. The container implementation requires Hyper-V.
Is this true? On the Mac the docker daemon is still living in a small linux vm. The only change to previous setups is, that you no longer need virtual box, vmware etc and automatically use the hypervisor features from the kernel.
Docker for Windows, linked above, and Windows Container Service[0] are two separate things. Docker for Windows runs a linux VM in Hyper-V and allows you to run linux based docker containers. Windows Container Service allows you to run windows based container images (using Hyper-V as a backend) and can use either Docker or Powershell Container Commandlets as a frontend for interacting with those containers.
So, yes Microsoft did implement containers in the Windows kernel, but that isn't what OP is about.
Docker captain here. Starting from windows 10 anniversary (which should be free to upgrade) and windows server 2016 windows can natively run Docker containers without hyper-v. Even though some features might be missing, docker and microsoft are working hard to get everything done. There are plenty of tutorials in the web about how to setup .net and mysql apps natively on windows. I totally recommend it.
I don't get it. "Natively run Docker containers without Hyper-V"? What does this mean? Does it emulate a Linux kernel? What syscalls are available? What is the underlying filesystem?
Yes, they are emulating Linux kernel by translating the syscalls.
I don’t know which ones are implemented, but MS told “lxss.sys has ~235 of the Linux syscalls implemented with varying level of support. This support will continue to improve over time especially with the great feedback we get from the community.”
The underlying filesystem is NTFS, Microsoft implemented two wrappers. VolFs supports all Linux features, but not interoperable with Windows. DrvFs is limited from the Linux perspective, but interoperable with Windows, i.e. Linux apps can read and write data from Windows’ drive C.
No, you can also run Docker Windows Server containers on Windows 10. This means that the Docker daemon is running natively on Windows (either Windows 10 anniversary edition or 2016). Details here:
No, you can also run Docker Windows Server containers on Windows 10. The easiest way to do this is to install the public beta version of Docker for Windows:
> Containers and images created with Docker for Windows are shared between all user accounts on machines where it is installed. This is because all Windows accounts will use the same VM to build and run containers. In the future, Docker for Windows will better isolate user content.
Docker (on Linux): years of unstable releases, breaking changes and weird issues you'll only find out in production.
Now available for windows! :D
On the bright side. Maybe that will make finding the perfect combination (i.e. one that doesn't crash) of OS + kernel + docker version + filesystem easier because there is limited diversity on Windows.
That is true, but it is a slightly different product, no? I wonder why they didn't simply let users to decide which hypervisor they want to use for Docker.
I can hardly see a use case for having Docker for Windows for software development.
Potentially someone could actually prefer Hyper-V on Windows 10 over VirtualBox. On my Windows 10 laptop I use Hyper-V to run Docker, stand alone Ubuntu 16.04 and Gentoo VMs, as well as Windows VMs provided by whatever the Modern.IE project is now known as.
I'm sure that if I needed to run something much less currently maintained, like OS/2, that VirtualBox on Windows would be better.
Also, I think it would have been a good idea for the Docker for Windows package to allow choosing between common Windows VM system instead of being tied to only one.
I was also running Hyper-V just to get an opinion, so I had Docker for Windows and Ubuntu VM alongside. Setting it up was a little bit clumsy - nowhere near the comfort of VMWare Workstation.
53 comments
[ 3.4 ms ] story [ 127 ms ] threadI really don't like this idea that we are expected to be paid, but complain when paying for our tools.
If I want to install CentOS or FreeBSD, all I need is hardware (with one or two spare machines usually at hand, as well as few old ones that got decommissioned) or a VM, and I'm good to go.
If I want to install Windows, I need to talk to my boss and explain why I need another Windows license, which can be rather tedious. (If we had an MSDN subscription, that would not be a problem of course, but then the price tag begins to matter.)
Also, I think it's misleading to say no VM is needed, it's just more transparent now.
Servers usually need neither of them, though.
As someone that develops software for Windows since the version 3.1, I don't get why professional developers would use the consumer version of Windows.
Because most computers/laptops come preinstalled with Windows Home.
That is what I do.
Isn't that why it requires Hyper-V?
There's reference in the instructions that changing the IPs will require the VM to be rebooted from what I can tell as well.
Similarly, I use Veertu on OS X: it uses the inbuilt VM in OS X but it's still using a VM.
The title of this article is inaccurate.
Its the same as the Docker for macOS, where is is booting a VM in the background, you just can't see it.
So, yes Microsoft did implement containers in the Windows kernel, but that isn't what OP is about.
[0]:https://msdn.microsoft.com/en-us/virtualization/windowsconta...
The underlying filesystem is NTFS, Microsoft implemented two wrappers. VolFs supports all Linux features, but not interoperable with Windows. DrvFs is limited from the Linux perspective, but interoperable with Windows, i.e. Linux apps can read and write data from Windows’ drive C.
If you’ll scroll to the end of the linked document, you’ll read docker says windows containers is beta feature not yet available on stable builds.
Also, there’s output of docker version command that clearly says OS/Arch: linux/amd64.
* https://blog.docker.com/2016/09/build-your-first-docker-wind... * https://blog.docker.com/2016/09/dockerforws2016/
Docker on WS 2016 is Windows containers only, this is for linux containers on a windows system.
* https://github.com/docker/labs/blob/master/windows/windows-c... * https://docs.docker.com/docker-for-windows/release-notes/#/b...
> Containers and images created with Docker for Windows are shared between all user accounts on machines where it is installed. This is because all Windows accounts will use the same VM to build and run containers. In the future, Docker for Windows will better isolate user content.
Can someone change the title?
Now available for windows! :D
On the bright side. Maybe that will make finding the perfect combination (i.e. one that doesn't crash) of OS + kernel + docker version + filesystem easier because there is limited diversity on Windows.
I'm sure that if I needed to run something much less currently maintained, like OS/2, that VirtualBox on Windows would be better.
Also, I think it would have been a good idea for the Docker for Windows package to allow choosing between common Windows VM system instead of being tied to only one.