I'm trying to setup gitlab-runner on an old x86 machine running Gentoo. I've patched gitlab-runner since the sources didn't cater for i686 architectures and I've enabled the kernel features necessary to run docker. Presently gitlab-runner is returning the error

ERROR: Failed to create container volume for /builds/Python exit code 1  job=XXX project=XXX runner=HASH

While docker in turn is returning this statement

devmapper: Failed to read /var/lib/docker/devicemapper/metadata/HASH with err: open /var/lib/docker/devicemapper/metadata/HASH: no such file or directory

Which leads me to ask which user or group and permission(s) should be set on the specified path(s). ls -al /var/lib/docker/devicemapper returns the following

total 16
drwx------  4 root root 4096 Aug  1 05:40 .
drwx--x--x 11 root root 4096 Aug  1 05:00 ..
drwx------  2 root root 4096 Aug  1 06:11 metadata
drwxr-xr-x  5 root root 4096 Aug  1 06:11 mnt

Alternatively are my gitlab-runner privileges possibly incorrect. docker can create and pull down images without any trouble and creates the appropriate socket (one question indicated this might be the cause but it is not so in my case).

1 Answer 1


I managed to resolve the issue. When compiled, Gitlab-Runner embeds a set of prebuilt docker images for each architecture it suports using go-bindata into itself. When one first runs gitlab-runner it extracts the embedded binary suitable for ones system and tries to use it to perform it's tasks. As I was targeting the docker executor on an x86 machine it pulled in what it thought to be an x86 image, my patch had provided it with an AMD64 one. As a result docker would error out and gitlab-runner would drop the build and complain. The trick was to head back to the drawing board and compile an x86 prebuilt image. I only figured out how to do this by invoking the prebuilt image directly from docker, something one can only do once gitlab-runner is already installed and run atleast once.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .