traefik-library-image icon indicating copy to clipboard operation
traefik-library-image copied to clipboard

Updated to allow all versions of windows docker files to be created

Open cardinal252 opened this issue 5 years ago • 11 comments

Unlike linux, in windows, having matching versions of the container available allows the container to run in process isolation rather than hyper-v which is significantly quicker in many scenarios.

This PR is to generate the docker files for each major version of windows to allow for that. The work has not been completed to build / push as I do not have access to appveyor to test.

cardinal252 avatar Nov 02 '20 09:11 cardinal252

Hello,

This repository is used by Docker to create the official Docker image.

This process has some constraints.

On Linux, Docker allows several arch, but on Windows, there is only one arch.

https://github.com/docker-library/official-images#architectures-other-than-amd64

So the parallel between the multiple arch on Linux and the multiple versions on Windows cannot be done.

ldez avatar Nov 02 '20 09:11 ldez

All of the images are for the same architecture 'windows-amd64', just different base images of windows. So - its more similar to building for example

traefik on ubuntu traefik on alpine

Not

traefik on ARM traefik on Intel

On windows docker containers (unlike linux) the base image is very important as - if your host operating system is running the same version, it stops the windows container running effectively in VM mode (based on hyper-v)

You can find more information here:

https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility?tabs=windows-server-20H2%2Cwindows-10-20H2

cardinal252 avatar Nov 02 '20 09:11 cardinal252

Compare e.g. portainer-ce which is supporting everything from 1809 to 2004:

image

tfenster avatar Nov 25 '20 22:11 tfenster

@ldez I guess we are all good then right?

emilevauge avatar Dec 01 '20 06:12 emilevauge

The portainer-ce image is not an official Docker image, in this case, it's possible to create any kind of variant.

In the context of an official Docker image, we have to check the availability of the environments and the constraint of the official Docker image about these cases.

ldez avatar Dec 01 '20 08:12 ldez

https://github.com/docker-library/official-images/issues/9198#issuecomment-737477765

ldez avatar Dec 02 '20 20:12 ldez

https://hub.docker.com/_/microsoft-dotnet-aspnet/

Microsoft's own asp.net core images have versions for every edition of windows - they are official images (see the following screenshot)

image

cardinal252 avatar Dec 09 '20 12:12 cardinal252

That's different, those images are from a trusted third party publisher, those aren't official Docker images. They are built by Microsoft, not Docker. @ldez linked an answer from Docker's devs that says that only 2 Windows versions are available for official Docker images.

emilevauge avatar Dec 09 '20 12:12 emilevauge

@emilevauge would you mind if I provide it as community driven effort? We need it anyway, so I could also make it publicly available

tfenster avatar Dec 10 '20 21:12 tfenster

Hello there, could we have ltsc2022 support ? By the meantime, I read on related issue that docker team put hands on a windows server 2022 computer which could build such images natively.

For reference https://github.com/docker-library/official-images/issues/9198#issuecomment-904994195

warlof avatar Jun 08 '22 05:06 warlof

@warlof In the meantime, I have done this myself as I needed it. If you are fine with a community-based version, you can find the images here https://registry.hub.docker.com/r/tobiasfenster/traefik-for-windows/tags, the sources here https://github.com/tfenster/traefik-for-windows/ and an explanation here https://tobiasfenster.io/running-traefik-in-a-container-on-a-modern-windows-server-version

tfenster avatar Jun 08 '22 06:06 tfenster

Since all possible Windows version for official images are now built, I am closing this PR. Feel free to re-open it or create a new one if needed.

mloiseleur avatar Jun 19 '24 15:06 mloiseleur