traefik-library-image
traefik-library-image copied to clipboard
Updated to allow all versions of windows docker files to be created
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.
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.
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
Compare e.g. portainer-ce which is supporting everything from 1809 to 2004:

@ldez I guess we are all good then right?
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.
https://github.com/docker-library/official-images/issues/9198#issuecomment-737477765
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)

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 would you mind if I provide it as community driven effort? We need it anyway, so I could also make it publicly available
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 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
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.