Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-36776

Support Windows Server Containers

    XMLWordPrintable

Details

    Description

      The Docker.groovy and WithContainerStep.java files have linux-specific commands that will fail to run on Windows Server with docker installed.

      Docker.groovy invokes CPS 'sh' step in several cases, and tries to start the container with the 'cat' command.

      The WithContainerStep whoAmI is using the 'id' utility to determine the user owning the workspace.

      Attachments

        Issue Links

          Activity

            Any update?

             

            gegles Guillaume Egles added a comment - Any update?  

            gegles I don't know whether you really need direct docker support, but we moved onto using Kubernetes in our setup - you just need a windows based jnlp container which you insert as "jnlp" into your pod and then you can have windows based kubernetes pods.

            That way you need one Linux Kube Master Node in your cluster and after that you can mix and match windows and linux containers in seperate pods as you need for your builds. 

            Note for high scalings: Avoid running Linux Containers on Windows nodes, since this is possible with current builds, but the windows process scheduler doesn't handle high core counts well (up to 16 works totally fine).

            snapstromegon Raphael Höser added a comment - gegles I don't know whether you really need direct docker support, but we moved onto using Kubernetes in our setup - you just need a windows based jnlp container which you insert as "jnlp" into your pod and then you can have windows based kubernetes pods. That way you need one Linux Kube Master Node in your cluster and after that you can mix and match windows and linux containers in seperate pods as you need for your builds.  Note for high scalings: Avoid running Linux Containers on Windows nodes, since this is possible with current builds, but the windows process scheduler doesn't handle high core counts well (up to 16 works totally fine).
            igorkostenko Igor Kostenko added a comment -

             It is much easier to use docker client for running jobs and deal with corresponding issues (like interrupting job would not stop running container) than to setup Kubernetes cluster  just for that.

            igorkostenko Igor Kostenko added a comment -  It is much easier to use docker client for running jobs and deal with corresponding issues (like interrupting job would not stop running container) than to setup Kubernetes cluster  just for that.

            snapstromegon

            > the windows process scheduler doesn't handle high core counts well

            Please see this : https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/One-Windows-Kernel/ba-p/267142

            It supports 896 cores / 1792 logical processors. I don't think your computer has that many cores.

            frivard Francois Rivard added a comment - snapstromegon > the windows process scheduler doesn't handle high core counts well Please see this :  https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/One-Windows-Kernel/ba-p/267142 It supports 896 cores / 1792 logical processors. I don't think your computer has that many cores.
            casz Joseph Petersen (old) added a comment - Fixed in  https://github.com/jenkinsci/docker-workflow-plugin/releases/tag/docker-workflow-1.21

            People

              jetersen Joseph Petersen
              60f77484 Cody D
              Votes:
              54 Vote for this issue
              Watchers:
              64 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: