Hacker News new | ask | show | jobs
by patates 3703 days ago
If this starts utilizing the "Ubuntu on Windows"[0], I think, with minor modifications, most of the images should already work; which is great. I can't wait to see how containerization (and tools built for orchestration of those) will evolve in the coming years to help dev/devops.

[0]: https://insights.ubuntu.com/2016/03/30/ubuntu-on-windows-the...

2 comments

Paul Thurrott quoted a Microsoft person that Ubuntu on Windows is a client side thing. It may be possible to use it on Windows server but I believe that is not the meta.

I would say it is easier to just spin up an Ubuntu instance than to use Ubuntu on Windows on the server. What are some use cases that you're thinking of? Am I missing something?

The use case is being able to run all the zillions of existing Ubuntu-based Docker images on Windows Server. If the Ubuntu-using Dockerfile is mostly made up of 'RUN apt-get install' commands along with a few commands like `RUN cd /tmp; wget https://ourhost.foo/some.config -O /etc/someapp/some.config` then it just might work with the Ubuntu-on-Windows thing.
There are two parts... there's the Linux Subsystem for Windows, which is the Linux ABI... Ubuntu for Windows is all the Ubuntu userland running via LSW. It's probable that this Docker system works with LSW as-is.
My question is why run on Windows? Wouldn't it be better for the host to be GNU/Linux if you don't need any of the functionality that Windows provides?

I fail to see the benefit of using Windows on the server unless you need Windows. Even Microsoft send to acknowledge that. I must be missing something.

They're probably doing it so that docker containers running in Azure infrastructure can be a bit lighter than it currently is. That's probably the main reason. Second, if you are already running windows servers, because you have software/infrastructure that require it, this allows you to also run Docker images, and Linux software without the overhead of full virtualization and/or new hardware.

Beyond this, there are a lot of developers running windows either by choice, or because they have software requirements themselves that can leverage this.

If they keep improving the Linux subsystem in the Windows kernel and it starts offering a complete POSIX layer (i.e. the syscalls we expect in a Linux system), then one day the Linux-based Docker images could run unmodified.
It's probable this preview is actually using the Linux Subsystem, which is fairly complete... And it makes sense.. it also makes a lot of sense in terms of the direction that .Net core has been taking, so that they can be deployed under Linux docker containers more easily.

Although I find a lot of the Azure services a bit too low-level, it's been very easy to build simpler interfaces on top of them, and get a lot done quickly. If this is anywhere near as nice on Azure as what the Joyent cloud's docker support looks like, it could be very interesting indeed.