Introducing Docker for Windows Server 2016
blog.docker.com
blog.docker.com
No, this is for running containers using the Windows kernel.
Although with the Windows Subsystem for Linux (WSL), I wonder how long until Windows Server supports running Linux containers.
EDIT: I'll answer my own question and say that this is probably targeted toward shops that rely on a Microsoft stack (e.g., full .NET Framework, SQL Server, etc.) Running Docker on Windows and getting fully-configured environments should be a big boon to productivity for these folks.
There are a lot of big .Net heavy-duty apps that are wedded to Windows.
> This flexibility comes at the cost of some bulk: The `microsoft/windowsservercore` image takes up 10GB.
Hope next versions shrink the image size.
> And the Nano Server base image is an order of magnitude smaller than Windows Server Core, meaning it has less dependencies and surface area to keep updated.
I wonder how smaller it is. Do you have any estimate here?
> The kernel containerization features are available in all versions of Windows Server 2016, and are also on --> Windows 10 systems with the Anniversary Update <--, and the Windows-native Docker daemon runs on both Windows Server 2016 and --> Windows 10 <-- (although only containers based on Windows Server build and run on Windows 10).
However, it wasn't my intention to come across as snotty - I thought you might just missed the title, which isn't something unheard of :-)
I'm sorry if you felt I had a conceited attitude, that's not how I behave.
On Windows Server 2016, you can choose between hyper-v container or "native" container, but this is only possible thanks to a new architecture that is not present in W10 (hence why you need Hyper-V).
I was excited about the possibilities, until I came to this:
> The Windows Server Core image comes with a mostly complete userland with the processes and DLLs found on a standard Windows Server Core install. With the exception of GUI apps and apps requiring Windows Remote Desktop, most apps that run on Windows Server can be dockerized to run in an image based on microsoft/windowsservercore with minimal effort.
It should be good enough for docker usage, and am excited about that option.
Details here:
* https://blog.docker.com/2016/09/build-your-first-docker-wind... * https://stefanscherer.github.io/run-linux-and-windows-contai...
As a single dev doing smaller scale projects, is there any reason for me to want to move to this sort of setup? I obviously keep my project version controlled on Bitbucket and we run our usual backups on the servers and DBs, but is there something that Docker would bring that I'm just not getting? Or is this better suited for larger scale, super-fast iteration type projects?
Server utilization for one-off apps is a lot better too as you can use a single windows server and have multiple containers... also checkout Application Request Routing extension for IIS, which is helpful for this kind of setup, it acts as a reverse-proxy option for IIS.
What will probably come next will be more automation tooling... It should now be possible to crate something like dokku, but using windows containers and powershell.
-- edit: s/not/now above.
The reason I ask is because it would be useful, especially on dev machines, to be able to run existing full .NET apps in containers alongside linux containers with Postgres, Redis, etc.
I built a sample with MusicStore. It doesn't use ISS (but could), just a self-hosting ASP.NET Core MVC app: https://github.com/friism/Musicstore/
You might find the SQL Server Dockerfile interesting (hopefully it'll be an image on Hub soon): https://github.com/friism/MusicStore/blob/master/docker/mssq...
Here's now to run it:
docker build -t sqlserver:2016 -f .\docker\mssql-server-2016-express\Dockerfile .\docker\mssql-server-2016-express\.
docker-compose -f .\src\MusicStore\docker-compose.yml up
Open a browser and open http://<ip-of-vm-running-docker>:5000/IIS runs in both nanoserver and windowsservercore-based containers. Here's and IIS sample image (I suspect Microsoft will be updating it soon): https://hub.docker.com/r/microsoft/iis/
For Windows Server 2012, AWS supported it [1] a little under 2.5 months after release [2].
1: https://aws.amazon.com/blogs/aws/windows-server-2012-now-ava...
Last year a lot of people warned me that the technology was pretty unreliable and using this year for development work I tend to agree, its still bleeding edge.