Skip to content

Expand docker executor volumes

Problem to solve

Directories defined in volumes = ["/certs/client", "/cache"] directory for the Runner docker executor are persistent between builds. If multiple CI jobs using a Docker executor runner have DIND services enabled, then each job will need to write to the directory path which may result in a conflict.

TLDR: The docker executor does not support creating uniqute volumes for each CI job.

Proposal

  • We currently expand volumes in the Kubernetes executor, we should do the same in Docker to equalize the features.

  • This could also help with setting up certificates per job or per CI_CONCURRENT_ID.

  • This should be investigated to weight in if this issue will be a solution to setting up certificates per job.

Related to https://gitlab.com/gitlab-com/ops-sub-department/section-ops-request-for-help/-/issues/436#note_2140021786

Edited by Darren Eastman