Windows Container vs Docker Container and Azure Container Services/Kubernetes cluster with Linux OS

8/16/2017

In the previous threads I asked a question about the way to move the Windows Containers into a Azure Container Services, and I received a great help

Deploying Windows Containers (created with Docker) into Azure Container Service

Pushing Windows Containers (built with Docker) into Azure Container Service (ACS) with Linus OS

I successfully created a Docker container on the Windows Server 2016 and through a Docker hub I moved the Docker container into a Kubernetes cluster with Windows Nodes where I was able to run these containers

However, after I ran a demo for my manager, I now need to conduct an additional research as my manager has some questions.

First of all, he is curious why the docker container cannot run on Windows (I do use Docker command when create the container) After all the Docker container should be platform independent and run in any environment, on both Windows and Linux

Also, I understand that there should be a switch between Windows and Linux when running Docker builds. However, on Windows Server 2016 with Containers there is no docker switch. Only command line is available.

Is that possible to switch between Linux and Windows modes on the command line and also, just in case, I am NOT working with Windows Containers, I am trying to work with Docker Containers.

Is that a true statement that a Docker Container with the .Net Core application (which is also cross platform cannot run on Linux)?

Thank you very much for your answer!

-- Mikhail
azure
docker
kubernetes

1 Answer

8/16/2017

he is curious why the docker container cannot run on Windows (I do use Docker command when create the container) After all the Docker container should be platform independent and run in any environment, on both Windows and Linux

To short, containers are not for virtualization, and they are using the resources of the host machine.

Windows container need .dll files, but Linux does not have those .dll files. And Linux based container need libraries, but windows does not have those.

Is that possible to switch between Linux and Windows modes on the command line

About containers switch, please refer to this article. we can follow this article to configure docker for windows.

Is that a true statement that a Docker Container with the .Net Core application?

As far as I know, for now, we can't run windows-based container on Linux.

-- Jason Ye
Source: StackOverflow