gitlab-ci-multi-runner using Windows Container on Windows Server 2016 TP5
Hi, so I'm trying to use the new Windows Containers on the Windows Server 2016 TP5 running as Windows Server Core and running a docker image called win-py2.7. Docker is setup in a way that the server use the docker engin and not a docker-machine configured using the classic boot2docker.iso. I achieved this using the microsoft provided bootstrapping script (see my comment to this issue for details).
The docker engin is
PS C:\> docker version
Client:
Version: 1.12.0-dev
API version: 1.24
Go version: go1.5.3
Git commit: 2b97201
Built: Tue Apr 26 23:51:36 2016
OS/Arch: windows/amd64
Server:
Version: 1.12.0-dev
API version: 1.24
Go version: go1.5.3
Git commit: 2b97201
Built: Tue Apr 26 23:51:36 2016
OS/Arch: windows/amd64
I also have the following docker container (please don't laugh at the 10GB container, that's how microsoft ship it).
C:\Multi-Runner>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
win-py2.7 latest 3c9daa366425 21 hours ago 10.22 GB
nanoserver 10.0.14300.1010 cb48429c84fa 6 weeks ago 817.1 MB
nanoserver latest cb48429c84fa 6 weeks ago 817.1 MB
windowsservercore 10.0.14300.1000 dbfee88ee9fd 6 weeks ago 9.344 GB
windowsservercore latest dbfee88ee9fd 6 weeks ago 9.344 GB
Using the following .gitlab-ci.yml
I run a build
stages:
- test
run_linux:
image: el6.7-py2.7:latest
before_script:
- pip install setuptools
- pip install tox
- pip install coveralls
stage: test
tags:
- linux
variables:
PYTHONPATH: ./
script:
- python2.7 setup.py test
only:
- master
run_windows:
image: win-py2.7:latest
stage: test
tags:
- windows
variables:
PYTHONPATH: ./
PYTHONIOENCODING: utf-8
script:
- python setup.py test
only:
- master
But I get the following error message for the run_windows
job (the run_linux
job run flawlessly):
gitlab-ci-multi-runner 1.1.3 (a470667)
Using Docker executor with image win-py2.7:latest ...
ERROR: Failed to create container volume for /cache Get http://unix.sock/v1.18/version: dial unix /var/run/docker.sock: socket: An address incompatible with the requested protocol was used.
ERROR: Failed to create container volume for /builds/root Get http://unix.sock/v1.18/version: dial unix /var/run/docker.sock: socket: An address incompatible with the requested protocol was used.
ERROR: Build failed: Get http://unix.sock/v1.18/version: dial unix /var/run/docker.sock: socket: An address incompatible with the requested protocol was used.
If I disable the cache, I get:
ERROR: Build failed: Get http://unix.sock/v1.18/version: dial unix /var/run/docker.sock: socket: An address incompatible with the requested protocol was used.
Here's my runner's config.toml
concurrent = 1
[[runners]]
name = "Windows Server 2016 TP5"
url = "http://192.168.56.103/ci"
token = "f30d953facad801c3e633220584bec"
executor = "docker"
[runners.docker]
tls_verify = false
image = "windowsservercore"
privileged = false
disable_cache = true
volumes = ["/cache"]
[runners.cache]
Insecure = false
There's a way to tell the runner to use windows socket instead of linux socket?