GitLab Runner on Windows with Windows containers: docker vs docker-windows executor

The GitLab Runner documentation is clear that to use Windows containers, you should be using the docker-windows executor, not docker.

It does not explain what the difference between these executor types is, nor why there are two.

For some time I’ve been using GitLab Runner, Windows containers, and the plain docker executor in my runner’s configuration - everything worked exactly as it should!

Clarification on the benefits of using docker-windows would be welcome. I’m pondering whether to open a docs issue again the Runner project, to try and get the difference explained.


For reference, I’m using GitLab Runner 17.3.1 with nanoserver and servercore Windows images in my jobs. Docker on the machine is Docker Desktop operating in Windows Containers mode.

1 Like