Document building docker images with autoscaling runners
/cc @tmaczukin @dblessing
Drew Blessing [9:24 PM]
GitLab.com user wonders about the new shared runners: I can run dockerized executables? build, login, push?
[9:25]
@tmaczukin ^^
Tomasz Maczukin [9:30 PM]
@dblessing: What means 'dockerized executables'? He want's to build a project inside of a docker container? Or does he want to build a docker image?
Drew Blessing [9:30 PM]
@tmaczukin: wants to build a docker image, I believe
[9:30]
using `docker build`
[9:30]
`docker push`, too?
Tomasz Maczukin [9:33 PM]
To build a docker image he needs a docker engine to be available. Our shared runners are running builds with docker executor, so each build is executed inside of a docker container. So I think he can't as for now. An option could be a docker-in-docker image but this - as I remember - needs the build container to be created in `privileged` mode. (edited)
[9:33]
Give me a moment, I'll check the configuration.
[9:36]
``` [runners.docker]
image = "ruby:2.1"
privileged = false
volumes = ["/cache", "/usr/local/bundle/gems"]
Privileged is false
so I'm almost sure, that dind
image will not work properly. So the answer would be: no, he can't. If he wants to build a docker image he needs to provide his own runner.
[9:38] We can ask Kamil to be sure for 100%. But I don't know if he is available today.
DJ Mountney [10:02 PM] Seeing a strange behaviour on a docker image of gitlab-ce:latest at the moment. It won't let me set the password on root login, gives a bunch of errors like email can't be blank, etc.
DJ Mountney [10:03 PM] uploaded and commented on an image: Screenshot from 2016-04-20 13-01-57.png 1 Comment on initial setup
DJ Mountney [10:03 PM] I'm going to tear it down and try again, but was odd.
Tomasz Maczukin [10:07 PM]
@dblessing I've tested it and it will not work on shared runners. When using gitlab/dind
image I see plenty of no permission
errors and information that I'm probably missing --privileged
option. When the same build was executed on my own docker-based runner but with --privileged
- all worked fine.
Sytse Sijbrandij [10:13 PM] @tmaczukin: @dblessing who will document this?
Tomasz Maczukin [10:18 PM]
@Sytse we havE a documentation for building docker images. There are two options listed: shell executor (and docker engine on a host) and docker executor (with dind
image).
Sytse Sijbrandij [10:18 PM] @tmaczukin: I get that, but consider adding your answers to it
Tomasz Maczukin [10:18 PM]
There is also an information, that docker executor must be rjned with --privileged
flag
[10:19] But there is no clear information that this will not work on shared runners
new messages [10:20] @Sytse I have now som networking problems on my laptop. Could you create an issue. I can add the documentation tomorrow.
Sytse Sijbrandij [10:21 PM] @tmaczukin: sure